PHP ODBC扩展 - 数据源名称太长

时间:2012-08-29 10:05:48

标签: php linux odbc datasource redhat

我一直在尝试将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这样的连接字符串的人的结果,没有关于如何让它以这种方式在服务器上运行......

有人可以给我任何建议/帮助吗?

如果您需要更多信息,请与我们联系。

谢谢!

1 个答案:

答案 0 :(得分:1)

启动isql时,您必须指定手册页中定义的数据源名称。

  

概要

   isql DSN [UID [PWD]] [options]
     

OPTIONS

   DSN    Name of the data source you want to connect to.

根据/etc/odbc.ini中的配置,您可以启动isql -v Default来测试您的连接。在配置文件中,数据源名称是您在括号中定义的名称。