繁体   English   中英

应用程序通过ODBC访问Sage Line 50数据时出错

[英]Error with app accessing Sage Line 50 data via ODBC

我开发了一个简单的基于C#控制台的应用程序,用于从Sage Line 50中的表中提取一些数据,并将数据上传到Web服务器。 它在Windows 7 x64上使用ODBC连接,并且工作正常。 Sage帐户数据位于映射的网络驱动器上。

我开发/测试了这个软件的PC,完全安装了Sage Line 50 2011,带有v17 ODBC驱动程序,并且已经应用​​了所有更新。

最终,应用程序将在我们的文件服务器上作为预定作业运行,但是当我尝试在我们的Windows 2008 R2文件服务器(承载Sage帐户数据的同一文件服务器)上运行代码时,ODBC驱动程序会抛出异常, 如下:

ERROR [28000] User ID or Password invalid
ERROR [01000] The driver returned invalid (or failed to return) SQL_DRIVER_ODBC_VER: 2.00
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
ERROR [01000] [Microsoft][ODBC Driver Manager] The driver doesn't support the version of ODBC behavior that the application requested (see SQLSetEnvAttr).

密码错误是用词不当,因为我知道密码是正确的。 ODBC配置也已确认。

我只安装了安装光盘上的Sage ODBC驱动程序,因为我不希望在我们的服务器上安装完整的Sage应用程序,并注意到S17DBC32.dll文件与我工作站上安装的文件版本不同(可能)因为Sage帐户安装的自动更新)。 我已经尝试将这个较新的文件复制到我们文件服务器上原始文件的顶部,并重新创建了ODBC配置,但这没有用。

我没有重新启动服务器,因为将DLL文件复制到旧文件(它是生产服务器)。 服务器是否需要重新启动才能使新DLL生效,或者是否有其他方法可以触发此操作?

也许我正在咆哮错误的树,Sage ODBC驱动程序DLL版本无关紧要? 任何帮助非常感谢。


编辑

有机会重启服务器,新的DLL没有任何区别。 我仍然看到同样的错误。

在干净的Windows 8安装上有同样的问题。 修复是安装.net 3.5运行时。

在我的.net应用程序失败并出现相同错误之后,Windows实际上建议了它(MS-Access引发的同一错误没有提示安装)。

您需要安装32位驱动程序,如果您通过进入64位版本的控制面板访问ODBC,您需要C:\\ Windows \\ SysWOW64 \\ odbcad32.exe

我最终试图在服务器上安装完全安装Sage帐户(yuk!),应用自动更新,现在我的应用程序正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM