Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Laravel配置ODBC驱动程序_Sql Server_Laravel_Laravel 4_Odbc - Fatal编程技术网

Sql server Laravel配置ODBC驱动程序

Sql server Laravel配置ODBC驱动程序,sql-server,laravel,laravel-4,odbc,Sql Server,Laravel,Laravel 4,Odbc,我需要配置Laravel 4以使用SQL Server 2000的ODBC PDO驱动程序 我已经在一个普通的PHP文件中测试了它,它工作得非常完美,但是,我无法在Laravel中获得正确的配置 这是我的连接字符串> $conn = new PDO("odbc:Driver={SQL Server};Server=MyHOST;Database=myDb;User Id=sa;Password=;"); 到目前为止,我在Laravel config/database.php中得到了这一点 编辑

我需要配置Laravel 4以使用SQL Server 2000的ODBC PDO驱动程序

我已经在一个普通的PHP文件中测试了它,它工作得非常完美,但是,我无法在Laravel中获得正确的配置

这是我的连接字符串>

$conn = new PDO("odbc:Driver={SQL Server};Server=MyHOST;Database=myDb;User Id=sa;Password=;");
到目前为止,我在Laravel config/database.php中得到了这一点

编辑

好的,我按照中的说明进行了配置:

我把它改成了

'odbc' => array(
        'driver' => 'odbc',
        'dsn' => 'Driver={SQL Server};Server=MyServer',
        'grammar' => 'SqlServerGrammar',
        'username' => 'user',
        'password' => 'pass',
        'database' => 'staPPM',
    ),

我收到一个错误FatalErrorException,找不到语法

Laravel 4仍然不直接支持ODBC,您必须自己做,或者您可以尝试使用此驱动程序:

您必须添加类似以下内容的连接:

'odbc' => array(
   'driver' => 'odbc',
   'dsn' => 'Driver={iSeries Access ODBC Driver};System=my_system_name;',
   'grammar' => 'DB2',
   'username' => 'foo',
   'password' => 'bar',
   'database' => '',
   'grammar' => 'SqlServerGrammar',
),
如包文档中所述,您必须提供一个有效的DSN才能连接到服务器:这些是有效连接字符串的示例:

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
要知道您的DSN是否有效,最好在Laravel外部测试DNS

如果您有权访问Linux,可以通过以下操作对其进行测试:

apt-get install unixodbc

isql -v DSN_NAME db_username db_password
答案应该是:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
ccovey的源代码中有一个bug,现在,您应该将
ODBCDriverConnection
的源代码更改为:

/**
 * Default grammar for specified Schema
 * @return Schema\Grammars\Grammar
 */
protected function getDefaultSchemaGrammar()
{
    return $this->withTablePrefix(new \Illuminate\Database\Schema\SqlServerGrammar);
}

我将在Github包中打开一个问题,以便他们解决此问题。

Laravel 4仍然不直接支持ODBC,您必须自己完成,或者您可以尝试使用此驱动程序:

您必须添加类似以下内容的连接:

'odbc' => array(
   'driver' => 'odbc',
   'dsn' => 'Driver={iSeries Access ODBC Driver};System=my_system_name;',
   'grammar' => 'DB2',
   'username' => 'foo',
   'password' => 'bar',
   'database' => '',
   'grammar' => 'SqlServerGrammar',
),
如包文档中所述,您必须提供一个有效的DSN才能连接到服务器:这些是有效连接字符串的示例:

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
要知道您的DSN是否有效,最好在Laravel外部测试DNS

如果您有权访问Linux,可以通过以下操作对其进行测试:

apt-get install unixodbc

isql -v DSN_NAME db_username db_password
答案应该是:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
ccovey的源代码中有一个bug,现在,您应该将
ODBCDriverConnection
的源代码更改为:

/**
 * Default grammar for specified Schema
 * @return Schema\Grammars\Grammar
 */
protected function getDefaultSchemaGrammar()
{
    return $this->withTablePrefix(new \Illuminate\Database\Schema\SqlServerGrammar);
}

我将在Github包中打开一个问题,以便他们解决此问题。

Laravel 4仍然不直接支持ODBC,您必须自己完成,或者您可以尝试使用此驱动程序:

您必须添加类似以下内容的连接:

'odbc' => array(
   'driver' => 'odbc',
   'dsn' => 'Driver={iSeries Access ODBC Driver};System=my_system_name;',
   'grammar' => 'DB2',
   'username' => 'foo',
   'password' => 'bar',
   'database' => '',
   'grammar' => 'SqlServerGrammar',
),
如包文档中所述,您必须提供一个有效的DSN才能连接到服务器:这些是有效连接字符串的示例:

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
要知道您的DSN是否有效,最好在Laravel外部测试DNS

如果您有权访问Linux,可以通过以下操作对其进行测试:

apt-get install unixodbc

isql -v DSN_NAME db_username db_password
答案应该是:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
ccovey的源代码中有一个bug,现在,您应该将
ODBCDriverConnection
的源代码更改为:

/**
 * Default grammar for specified Schema
 * @return Schema\Grammars\Grammar
 */
protected function getDefaultSchemaGrammar()
{
    return $this->withTablePrefix(new \Illuminate\Database\Schema\SqlServerGrammar);
}

我将在Github包中打开一个问题,以便他们解决此问题。

Laravel 4仍然不直接支持ODBC,您必须自己完成,或者您可以尝试使用此驱动程序:

您必须添加类似以下内容的连接:

'odbc' => array(
   'driver' => 'odbc',
   'dsn' => 'Driver={iSeries Access ODBC Driver};System=my_system_name;',
   'grammar' => 'DB2',
   'username' => 'foo',
   'password' => 'bar',
   'database' => '',
   'grammar' => 'SqlServerGrammar',
),
如包文档中所述,您必须提供一个有效的DSN才能连接到服务器:这些是有效连接字符串的示例:

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
要知道您的DSN是否有效,最好在Laravel外部测试DNS

如果您有权访问Linux,可以通过以下操作对其进行测试:

apt-get install unixodbc

isql -v DSN_NAME db_username db_password
答案应该是:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>
ccovey的源代码中有一个bug,现在,您应该将
ODBCDriverConnection
的源代码更改为:

/**
 * Default grammar for specified Schema
 * @return Schema\Grammars\Grammar
 */
protected function getDefaultSchemaGrammar()
{
    return $this->withTablePrefix(new \Illuminate\Database\Schema\SqlServerGrammar);
}

我将在程序包Github中打开一个问题,以便他们解决此问题。

我收到错误SQLSTATE[IM002]未找到数据源名称,并且没有指定默认驱动程序。您在说什么?你是如何安装它的?我按照每一条指令,向composer.json添加了require,然后运行composer更新,控制台说安装ccovy/odbc-driver-l4,然后我按照上面所说的进行配置,我发现了这个错误。我想现在的问题是我不知道config/database.phpI的确切配置。我添加了'dsn'=>'driver={SQL Server},现在我得到了错误:DSN和服务器关键字都没有提供错误SQLSTATE[IM002]数据源名称找不到,也没有指定默认驱动程序。你在说什么?你是如何安装它的?我按照每一条指令,向composer.json添加了require,然后运行composer更新,控制台说安装ccovy/odbc-driver-l4,然后我按照上面所说的进行配置,我发现了这个错误。我想现在的问题是我不知道config/database.phpI的确切配置。我添加了'dsn'=>'driver={SQL Server},现在我得到了错误:DSN和服务器关键字都没有提供错误SQLSTATE[IM002]数据源名称找不到,也没有指定默认驱动程序。你在说什么?你是如何安装它的?我按照每一条指令,向composer.json添加了require,然后运行composer更新,控制台说安装ccovy/odbc-driver-l4,然后我按照上面所说的进行配置,我发现了这个错误。我想现在的问题是我不知道config/database.phpI的确切配置。我添加了'dsn'=>'driver={SQL Server},现在我得到了错误:DSN和服务器关键字都没有提供错误SQLSTATE[IM002]数据源名称找不到,也没有指定默认驱动程序。你在说什么?你是如何安装它的?我按照每一条指令,向composer.json添加了require,然后运行composer更新,控制台说安装ccovy/odbc-driver-l4,然后我按照上面所说的进行配置,我发现了这个错误。我想现在的问题是我不知道config/database.phpI的确切配置。我添加了'dsn'=>'driver={SQL Server},现在收到错误:既没有提供DSN也没有提供服务器关键字