2012-02-03 58 views
1

我有一个运行在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服务器中检查了该网站。)我应该怎么做?对不起,但我真的

+0

权限...? – 2012-02-03 01:40:24

+0

你是什么意思?对不起。我真的是一个新手。 :( – prukuhkoo 2012-02-03 01:44:14

+0

权限:即页面运行的标识是否作为hace访问数据库? – 2012-02-03 01:47:14

回答

2

这可能是设置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离开的话,只是在“”如果你没有任何用户名或密码

0

在尝试连接到Access .mdb时,我在PHP 7.0.8 64位上遇到同样的错误。

我必须做两件事情:

  1. 安装“Microsoft Access数据库引擎2010可再发行”的64位版本(甚至与Access 2016安装,我让你的错误)。您可以下载驱动程序:

    https://www.microsoft.com/en-us/download/details.aspx?id=13255

    然后,如果你去到ODBC数据源管理器,你应该注意到64位版本。

  2. 更改驱动程序字符串:

    Driver={Microsoft Access Driver (*.mdb, *.accdb)}

希望它可以帮助其他人。

相关问题