Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
PHP ODBC-连接到本地.mdb数据库_Php_Odbc - Fatal编程技术网

PHP ODBC-连接到本地.mdb数据库

PHP ODBC-连接到本地.mdb数据库,php,odbc,Php,Odbc,我已经安装了php5 odbc库 试图连接到.mdb文件,但不断获取错误未找到数据源名称,并且未指定默认驱动程序 代码: $dbName = "../../../var/Import/PartsPlaceDB.mdb"; if (!file_exists($dbName)) { die("Could not find database file."); } $db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=

我已经安装了php5 odbc库

试图连接到.mdb文件,但不断获取错误未找到数据源名称,并且未指定默认驱动程序

代码:

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
if (!file_exists($dbName)) {
    die("Could not find database file.");
}
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$dbName; Uid=; Pwd=;");
产出:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[IM002] SQLDriverConnect: 0 [unixODBC][Driver Manager]Data source name not found, and no default driver specified' in [...]
PDO驱动程序:

foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />';
}

该问题在64位版本中反复出现。看起来您的代码只能在Windows 32位上运行。
要解决此问题,您可以安装此工具:。我几个月来都遇到同样的问题,但这个工具解决了我的问题。

这个问题在64位版本中反复出现。看起来您的代码只能在Windows 32位上运行。
要解决此问题,您可以安装此工具:。我几个月来都遇到同样的问题,但这个工具解决了我的问题。

这个问题在64位版本中反复出现。看起来您的代码只能在Windows 32位上运行。
要解决此问题,您可以安装此工具:。我几个月来都遇到同样的问题,但这个工具解决了我的问题。

这个问题在64位版本中反复出现。看起来您的代码只能在Windows 32位上运行。
要解决此问题,您可以安装此工具:。我几个月来都遇到同样的问题,但这个工具解决了我的问题。

我想你的位置搞错了吧

而不是这个

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
为什么不这样做呢

$dbName = "..\..\..\var\Import\PartsPlaceDB.mdb";

我猜你把位置搞错了

而不是这个

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
为什么不这样做呢

$dbName = "..\..\..\var\Import\PartsPlaceDB.mdb";

我猜你把位置搞错了

而不是这个

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
为什么不这样做呢

$dbName = "..\..\..\var\Import\PartsPlaceDB.mdb";

我猜你把位置搞错了

而不是这个

$dbName = "../../../var/Import/PartsPlaceDB.mdb";
为什么不这样做呢

$dbName = "..\..\..\var\Import\PartsPlaceDB.mdb";


这里已经有答案了,试过了,但是运气不好。不断得到同样的错误。并且错误消息是另一条。请检查phpinfo();确保你有PDO_ODBCYes。它已启用。启用ODBC连接池,严格匹配有一个链接具有一点不同的连接字符串。这里已经有答案了,试过了,但是运气不好。不断得到同样的错误。并且错误消息是另一条。请检查phpinfo();确保你有PDO_ODBCYes。它已启用。启用ODBC连接池,严格匹配有一个链接具有一点不同的连接字符串。这里已经有答案了,试过了,但是运气不好。不断得到同样的错误。并且错误消息是另一条。请检查phpinfo();确保你有PDO_ODBCYes。它已启用。启用ODBC连接池,严格匹配有一个链接具有一点不同的连接字符串。这里已经有答案了,试过了,但是运气不好。不断得到同样的错误。并且错误消息是另一条。请检查phpinfo();确保你有PDO_ODBCYes。它已启用。启用ODBC连接池,严格匹配有一个链接具有一点不同的连接字符串。谢谢!这也发生在我身上,我刚刚安装了32位apache版本,现在它就像一个魔咒一样工作了!:)谢谢!这也发生在我身上,我刚刚安装了32位apache版本,现在它就像一个魔咒一样工作了!:)谢谢!这也发生在我身上,我刚刚安装了32位apache版本,现在它就像一个魔咒一样工作了!:)谢谢!这也发生在我身上,我刚刚安装了32位apache版本,现在它就像一个魔咒一样工作了!:)