如何使用PHP连接到Sage 50 ODBC数据库

时间:2019-05-07 12:48:13

标签: php odbc sage50

我正在尝试从Sage 50数据库中导出数据。我已经设法建立了到数据库的连接,但是每当执行查询时,我都会收到以下错误消息。

  

警告:odbc_exec():SQLColAttribute无法处理SQL_DESC_OCTET_LENGTH:[S1C00]驱动程序在C:...的第4行上不可用

我尝试按照PHP.net上的建议将光标更改为SQL_CUR_USE_CODE

我也确保它正在连接,因为当我输入一个不存在的表名时,我会收到此错误。

  

警告:odbc_exec():SQL错误:未找到表,SQLExecDirect中C:...的SQL状态S0002在第4行

$conn = odbc_connect("TestDB", "Manager", "", SQL_CUR_USE_ODBC);
$sql="SELECT * FROM STOCK"; 
$result=odbc_exec($conn,$sql);

预先感谢

1 个答案:

答案 0 :(得分:0)

我在使用C#应用程序时遇到类似的问题,但是我的解决方案在这里可能有针对性,我不希望看到有人承受我的压力。这是我为解决问题所做的工作:

  1. 在“ ODBC数据源管理员”中,选择您的“普及型ODBC客户端界面”
  2. 在“数据选项”下,选择与CrystalReports.udl文件的数据源关联的数据库名称。确保词典位置在您公司的数据目录中。
  3. 确保您的select语句查询Crystal报表允许的表,例如地址,审计表等,因为不是所有表都可以通过Crystal报表查询。

希望有帮助!