dbt/odbc-driver

ODBC Driver for Laravel 12+
187,591 29
Install
composer require dbt/odbc-driver
Latest Version:5.0.2
PHP:8.2.*|8.3.*|8.4.*|8.5.*
License:MIT
Last Updated:Jun 12, 2026
Links: GitHub  ·  Packagist
Maintainer: danielsdeboer

ODBC Driver for Laravel

A simple ODBC driver for Laravel.

Prerequisites

Enable the pdo_odbc PHP extension.

For other database engines (for instance MS SQL Server), you'll need to install the appropriate PHP extension(s).

Installation

For Laravel <=11, use version 4.0. For Laravel 12 and 13, use version 5.0.

composer require dbt/odbc-driver

Laravel will automatically discover the service provider.

Configuration

In your database.php config, configure your connection using the odbc driver:

'my-odbc-connection' => [
    'driver'   => 'odbc',
    'dsn'      => env('ODBC_DSN'),
    'host'     => env('ODBC_HOST'),
    'database' => env('ODBC_DB'),
    'username' => env('ODBC_USERNAME'),
    'password' => env('ODBC_PASSWORD'),
],

Custom Grammar

To use SQL Server or other database engines, you can set the grammars in your database.php config block for that connection:

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

Usage

Use the connection like any other, via the query builder or with Eloquent.

For Eloquent, you'll need to specify the model's connection:

class Users extends Eloquent {
    /** @var string */
    protected $connection = 'odbc';
}

Connection String

You may need to use some trial and error to figure out what your connection string should look like. Consult your vendor's database documentation.

It could be a connection path:

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

Or a connection name:

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

Or something as simple as:

'dsn' => 'odbc:dbname',

For SQL server, you'll need to specify the DSN, the user, and the password. For example:

'dsn' => 'sqlsrv:Driver=ODBC Driver 18 for SQL Server;Server=tcp:localhost,1433;TrustServerCertificate=1;Encrypt=1;'
'username' => 'sa',
'password' => 'my-super-secret-password',

Contributions & License

Contributions are welcome.

MIT Licensed. Do as you wish.

Related Packages

titeca/laravel-sqlanywhere-driver

Laravel database driver to connect to a sqlanywhere database instance

1,702 0
emkcloud/laravel-iseries-db2

Laravel Driver for DB2 on IBM iSeries

2,504 4
sbock/odbc-driver

Laravel 5 ODBC Driver

173 5
cooperl/laravel-ibmi

laravel-ibmi is a simple DB2 & Toolkit for IBMi service provider for Laravel. It...

16,536 10
cooperl/laravel-db2

laravel-db2 is a simple DB2 service provider for Laravel. It provides DB2 Connec...

128,218 58