我该如何纠正这个错误:未找到数据源名称并且没有指定默认驱动程序
问题描述:
我有一个运行在Windows服务器上的网站,它工作得很好。我试图做一个拷贝在我的本地主机,但我得到的错误:我该如何纠正这个错误:未找到数据源名称并且没有指定默认驱动程序
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\xampp\htdocs\tdms\webfolders\secured\db_fns.php on line 29
Could not connect to database server
行29载:
function fgsdb_connect()
{
$a=array();
$retvar=0;
$result = odbc_connect('FGS','tdms','tdms358',SQL_CUR_USE_ODBC); //---->line 29
if (!$result) // cannot establish connection to database
throw new Exception('Could not connect to database server');
else // connection to database has been established
return $result;
}
我真正的新ODBC。该网站是用php和我在mySQL中使用的数据库编写的。尽管我认为它试图连接的数据库是微软访问MDE文件。 (我在Windows服务器中检查了该网站。)我应该怎么做?对不起,但我真的
答
这可能是设置ODBC数据源的快捷方式指向32位数据源而不是64位。
转到控制面板 - >管理工具 - >选择数据源(ODBC) - >然后右键单击该文件 - >转到属性 - >在快捷方式选项卡 - >更改路径从
%windir%\System32\odbcad32.exe
到
%windir%\SysWOW64\odbcad32.exe
,让您的网络连接。 MS Access的驱动程序现在可以正常工作。
如果不工作,尝试用这样的句子连接到ODBC:
$conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\YourFolder\YourFile.mdb",'Youruser', 'YourPassword');
最后2离开的话,只是在“”如果你没有任何用户名或密码
答
在尝试连接到Access .mdb时,我在PHP 7.0.8 64位上遇到同样的错误。
我必须做两件事情:
-
安装“Microsoft Access数据库引擎2010可再发行”的64位版本(甚至与Access 2016安装,我让你的错误)。您可以下载驱动程序:
https://www.microsoft.com/en-us/download/details.aspx?id=13255
然后,如果你去到ODBC数据源管理器,你应该注意到64位版本。
-
更改驱动程序字符串:
Driver={Microsoft Access Driver (*.mdb, *.accdb)}
希望它可以帮助其他人。
权限...? – 2012-02-03 01:40:24
你是什么意思?对不起。我真的是一个新手。 :( – prukuhkoo 2012-02-03 01:44:14
权限:即页面运行的标识是否作为hace访问数据库? – 2012-02-03 01:47:14