让我先说明我对LAMP环境没有太多经验。我到处闲逛,但我已经在服务器上乱了几次。那说......
我在AWS上的Ubuntu 14.04.4框上安装了NetSuite 64位ODBC驱动程序。我也有Windows驱动程序,我尝试使用WAMP设置。在桌面上的WAMP设置中,我可以使连接正常工作并可以查询NetSuite数据库。在服务器上,ODBC驱动程序设置正确,我已经能够使用NetSuite提供的odbcisql64使用isql。
Fatal error: Call to undefined function odbc_connect() in /var/www/html/www.xxxxx.com/xxxx/GetNSData_1.php on line 5
这意味着DSN已正确设置。当我运行PHP代码以使用驱动程序访问数据库时,我收到此错误:
error_reporting(E_ALL);
ini_set('display_errors', '1');
$conn = odbc_connect("NetSuite", "usr", "pwd");
if (!$conn) {
die(' Could not connect: ' . odbc_error());
}
$query = odbc_prepare($conn, "Some Query");
$success = odbc_execute($query, array('Data'));
if($success)
odbc_result_all($query);
我的PHP代码如下所示:
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/html/www.xxxxx.com/xxxxxx/GetNSData_1.php on line 6
所以这意味着LAMP服务器上缺少一个包。我不确定要确定要安装哪些。我尝试了很多,包括unixODBC和FreeTDS。当我安装这些软件包时,我得到一个不同的错误:
Warning: odbc_connect(): SQL error: [unixODBC], SQL state in SQLConnect in /var/www/html/www.xxxxx.com/xxxxxx/GetNSData_1.php on line 5
Could not connect:
在odbcinst命令中修复链接以确保安装了驱动程序后,我收到的错误告诉我什么。没有错误代码或任何东西 - 甚至没有odbc_error()响应:
{{1}}
所以我怀疑正在发生的事情是,某些路径不再是司机了。我在网上尝试过这样的事情:http://www.debugthat.com/connecting-to-netsuite-using-linux-and-odbc但我错过了一些东西。我知道这与配置有关,但我知之甚少,看不到我所遗漏的内容。
如果有人能给我一些帮助,我将永远感激不尽!谢谢!