/odbc

Laravel ODBC Connector

Primary LanguagePHPMIT LicenseMIT

Laravel ODBC Connector

This is a simple ODBC connector for Laravel 5.

Installation

Add this to the require section in your composer.json file

"litesrv/odbc": "^1.0"

In your config/app.php file add the Service Provider to the service providers array like so...

'LiteSrv\Odbc\ServiceProvider',

Now in your config/database.php you will need to add your connection details, it'll look something like this...

'odbc'   => [
	'driver'   => 'odbc',
	'dsn'      => 'odbc:DB_CONNECTION_STRING', //
	'host'     => 'DB_HOST',
	'database' => 'DB_NAME,
	'username' => 'DB_USERNAME',
	'password' => 'DB_PASSWORD',
],

Custom Grammar

To use SQL Server or other database engines, set the grammar in the config:

'odbc'   => [
	...
	'grammar' => [
		'query' => Illuminate\Database\Query\Grammars\SqlServerGrammar::class,
		'schema' => Illuminate\Database\Schema\Grammars\SqlServerGrammar::class,
	],
],

Usage

Now in your app you can do something like...

$data = DB::connection('odbc')->get('tableName')->all();

Alternatively, in an Eloquent model you could something like this

class Users extends Eloquent {

	protected $connection = 'odbc';
}

DB_CONNECTION_STRING - Something to note

Dependant upon your database configuration, I personally had some difficulty in working out what the DB_CONNECTION_STRING needed to be.

This was some trial and error (with a hell of a lot of Googling!) but you could either use a path, something like...

'dsn'      => 'odbc:\\\\path\to\my\database',

Or a connection name

'dsn'      => 'odbc:\\\\my-connection-name',

Hopefully, this will help you!