我正在尝试使用此指南在 Ubuntu 16.04 上安装 mssql 驱动程序。当我进入步骤时:
sudo ACCEPT_EULA=Y apt-get install msodbcsql
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:无法找到包 msodbcsql 我错过了哪一步?
提前致谢。
我在运行CentOS 7的虚拟机上醒来,并且尝试通过一些php使用ODBC(unixODBC)连接到Informix数据库。
我正在使用php7.0,并且已经安装了unixODBC-2.3.7并安装了notifyix sdk软件包(iif.12.10.FC12DE.linux-x86_64)。
我已经将odbc.ini和odbcinst.ini配置为:
odbcinst.ini:
[ODBC Drivers]
IBM INFORMIX ODBC DRIVER=Installed
[IBM INFORMIX ODBC DRIVER]
Driver=/opt/IBM/Informix_Software_Bundle/lib/cli/iclis09b.so
Setup=/opt/IBM/Informix_Software_Bundle/lib/cli/iclis09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.80
FileUsage=0
SQLLevel=1
smProcessPerConnect=Y
Run Code Online (Sandbox Code Playgroud)
odbc.ini:
[ODBC Data Sources]
informix_db=IBM INFORMIXODBC DRIVER
[informix_db]
Driver=/opt/IBM/Informix_Software_Bundle/lib/cli/iclis09b.so
Description=IBM INFORMIX ODBC DRIVER
HostName=xxx.xxx.xxx.xxx
Service=xxxx
Database=xxx
LogonID=xxx
pwd=xxx
ServerName=xxx
Client_Locale=xxx
DB_Locale=xxx
Run Code Online (Sandbox Code Playgroud)
然后,我使用以下命令设置环境变量:
export INFORMIXDIR=/opt/IBM/Informix_Software_Bundle
export INFORMIXSERVER=xxx
export LD_LIBRARY_PATH=${INFORMIXDIR}/lib/cli
Run Code Online (Sandbox Code Playgroud)
我的PHP代码如下:
<?php
$dbUserName=xxx;
$dbPassword=xxx;
$conn=odbc_connect("Driver={IBM INFORMIX ODBC DRIVER};HOSTNAME=xxx;Database=xxx;PORT=xxx;PROTOCOL=onsoctcp;", $dbUserName, $dbPassword);
if (!$conn)
{
echo odbc_errormsg();
}
else {
$sql="{CALL somequery}";
$res=odbc_exec($conn,$sql);
odbc_result_all($res);
}
?>
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行php时,出现以下错误:
[unixODBC][Driver Manager]Can't open …Run Code Online (Sandbox Code Playgroud)