Skip to main content
 首页 » 编程设计

c#之Sybase AdoNet4 AseClient v16.x (客户端无法建立连接)

2024年08月12日35txw1958

我有一个 Sybase 客户端应用程序,它是使用 ADO.Net 4.0 用 C# 编写的。代码引用了 Sybase.AdoNet4.AseClient.dll 程序集文件。

在我的 (DEV) 盒子上,应用程序运行完美,没有问题。

当我将此应用程序连同 Sybase.AdoNet4.AseClient.dll 文件移动到 Windows 2008 服务器 (#1) 并运行该应用程序时,它无法成功连接到 Sybase 数据库!它抛出以下错误。

Client unable to establish a connection

检查堆栈跟踪消息,它没有用。

at Sybase.Data.AseClient1.AseConnection.Open() at Sybase.Data.AseClient.AseConnection.Open()

连接字符串由 数据源=xxx.xxx.xxx.xxx;端口=1234;数据库=数据库名; uid=用户名; pwd=密码; ConnectionIdleTimeout=nnn;

Data Source=xxx.xxx.xxx.xxx 是服务器(#2),它是可 ping 通的,没有问题(响应时间<1ms TTL=255)。

请您参考如下方法:

尝试将 Charset=iso_1(或适当的字符集)添加到您的连接字符串中。这解决了我的问题。

例如:

Data Source=xxx.xxx.xxx.xxx; Port=1234; Database=dbname; Uid=username; Pwd=password; ConnectionIdleTimeout=nnn; 

现在是:

Data Source=xxx.xxx.xxx.xxx; Port=1234; Database=dbname; Uid=username; Pwd=password; ConnectionIdleTimeout=nnn;Charset=iso_1;