我在已经安装了unixODBC和php5-odbc包的Ubuntu10.10服务器上运行php5。在连接过程中,我一直收到一个错误-代码:
$data_source = 'DRIVER={Microsoft dBASE Driver (*.dbf)};Data Source=//128.251.xxx.xxx/lv_apps/AppsLON/CData/dbf/cdma';"", "");
$conn = odbc_connect($data_source, "", "");
if (!$conn)
exit("Connection Failed: " .$conn );错误消息:
1 Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /var/www/vfptest.php on line 6 我在/etc/php5/apache2/php.ini和/etc/php5/cli/php.ini这两个文件中添加了extention=dbase.so和extention=odbc.so,并使用以下命令重新编译了php安装:
sudo ./configure --prefix=/usr --enable-dbase=shared --with-unixODBC我还访问了unixODBC和pecl,分别安装了unixODBC和dbase库,但没有成功。
我还找到了这个链接:http://www.devlist.com/ConnectionStringsPage.aspx,其中声明为了创建到foxpro数据库的ODBC连接,我使用以下行:
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\demo.dbc;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO 然而,这对我来说仍然不起作用;可能是因为我没有安装visual foxpro驱动程序,也没有指向我不知道的驱动程序path...but的odbc.ini文件。
发布于 2011-04-05 20:20:34
简而言之,- odbc_connect()接受;一个ODBC数据源名称(DSN),用户名和密码--
http://php.net/manual/en/function.odbc-connect.php
据我所知,Linux没有VFP ODBC驱动程序,因此您很可能需要采用ODBC Bridge解决方案,例如-
http://uda.openlinksw.com/odbc-odbc-mt/
它有一个客户端/服务器架构--
Linux客户端-- php ODBC Application OpenLink通用ODBC驱动程序(瘦多层ODBC客户端)
Windows服务器-- OpenLink请求代理(多层服务器) OpenLInk代理(多层服务器) Fox Pro ODBC DSN (预配置) Fox Pro文件...
我希望这能帮到你?
发布于 2011-04-06 05:12:45
在MSDN network上查看这篇文章的最底层
您发布的驱动程序行是“VFP connection string is not supported for ...an tables a version is a version you 6.”。
发布于 2011-04-05 05:32:55
虽然不熟悉linux连接到VFP,但是,这种VFP的odbc连接连接到路径,而不是特定表。一旦与路径的连接有效,您就可以查询该位置的任何.DBF表。
虽然我无法回答您的具体连接信息,但我找到了此链接
http://www.phpfreaks.com/forums/index.php?topic=296832.0
它显示了连接到数据源...注意它标识了'DRIVER={Microsoft (*.dbf)};datasource=/ dBASE /dir/file.dbf;‘所使用的...您可能必须找到这个驱动程序和路径信息的组合(我仍然会先尝试不使用特定的.dbf文件)。
希望这能帮上忙..
https://stackoverflow.com/questions/5544580
复制相似问题