我一直在尝试将PHP的ODBC扩展安装到我们的一台服务器(Redhat)上,我认为它安装正确,但现在当我尝试测试连接时,我收到了关于数据源名称太长的错误消息。。。这听起来很简单,但我做不出来。。怎样或者在哪里。
基本上,这些是我目前的设置:
# odbcinst -j
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN SIze.......: 4
SQLSETPOSIROW......: 2
我在odbcinst.ini中定义了MySQL驱动程序,如下所示:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
我已经仔细检查了驾驶员;安装程序路径正确并且指向正确的文件。
所以现在我试图通过编辑odbc.ini文件来添加一个系统数据源。我尝试过各种不同的格式,下面是来自不同网站的例子,例如
http://developer.mindtouch.com/en/kb/Using_the_ODBC_extension_on_Linux#Install_unixODBC
http://dev.mysql.com/doc/refman/5.0/en/connector-odbc-configuration-dsn-unix.html
正如你所看到的,我已经评论了其中的一些,并尝试了不同的方法:
;[mytest]
;driver = MySQL
;Database = moodle
;Server = localhost
;Socket = /var/lib/mysql/mysql.sock
;[mynew]
;Description = MySQL
;Driver = MySQL
;SERVER = localhost
;USER = root
;PASSWORD =
;PORT = 3306
;DATABASE = moodle
[Default]
Driver = /usr/lib/libmyodbc5.so
Description = Connector/ODBC 5 Driver DSN
SERVER = localhost
PORT =
USER = root
Password =
Database = moodle
SOCKET =
然而,每当我运行时
isql -v
看看是否有任何问题,我总是得到:
[IM010][unixODBC][Driver Manager]Data source name too long
[ISQL]ERROR: Could not SQLConnect
我在谷歌上搜索这个错误似乎只会发现在ASP之类的东西中有连接字符串的人的结果,而不是关于如何以这种方式在服务器上工作。。。
有人能给我什么建议/帮助吗?
如果你需要更多信息,请告诉我。
谢谢!
启动isql
时,必须指定手册页中定义的数据源名称。
简介
isql DSN [UID [PWD]] [options]
期权
DSN Name of the data source you want to connect to.
考虑到您在/etc/odbc.ini
中的配置,您将启动isql -v Default
来测试您的连接。在配置文件中,数据源名称是您在方括号之间定义的名称。