6

在 PHP 脚本中,连接到 odbc 数据库的方式如下所示:

$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;", $user, $password);

我遇到的问题是我不知道“Driver =”该使用什么。我放在那里的是为我看到的另一个脚本提供的内容。在我的脚本中,我所做的只是尝试使用此行进行连接,但出现以下错误:

Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /srv/www/htdocs/site/test.php on line 8

据我所知,我指定的驱动程序似乎不正确。我试图连接的数据库是一个 MSSQL 数据库,我只打算从中查询信息。有没有办法列出我系统上可用的数据库驱动程序?我以前从来不需要安装/配置任何这样的驱动程序(我从来没有做过这样的事情;我过去所做的所有 php 工作都是使用 MySQL 完成的)。另外,我不想在我的系统上编译其他软件(如果可能的话);我宁愿从 repos 安装所有软件包。

4

2 回答 2

8

您应该有一个名为 odbcinst.ini 的文件(可能在 /etc 或 /usr/local/etc 中,但您可以使用命令 odbcinst -j 找到它)。此文件定义您的 ODBC 驱动程序。每个驱动程序在每个部分的 [] 中命名。

您可能会发现Linux ODBC很有用,因为它包含对 unixODBC、它的工作原理以及如何定义数据源的详尽解释。

于 2013-07-01T07:55:10.450 回答
1

问题是如何找到可用的 ODBC 驱动程序列表。在命令行运行:

    odbcinst -q -d

如果您还不知道,这将列出驱动程序。

于 2020-10-10T21:25:36.830 回答