如何使用原生ADO.NET连接运行在9版本服务器上的Sybase SQL Anywhere 5数据库
SQL Anywhere 9 AsaConnection 连接字符串及相关问题解决
可用连接字符串示例
远程TCP连接(带CHAINED关闭参数)
"ENG=你的数据库引擎名;DBN=你的数据库名;UID=账号;PWD=密码;CHAINED=OFF;LINKS=TCPIP(HOST=数据库服务器IP;PORT=2638)"
本地共享内存连接
"ENG=你的数据库引擎名;DBN=你的数据库名;UID=账号;PWD=密码;CHAINED=OFF;LINKS=SharedMemory"
参数说明
ENG:SQL Anywhere 启动的服务引擎名称,不是数据库物理文件名,如果你是命令行挂载db文件启动,该值为你启动时指定的引擎名DBN:目标数据库的逻辑名称,可与引擎名不一致UID/PWD:数据库认证信息,默认管理员账号为DBA,默认密码为sqlCHAINED=OFF:SQL Anywhere 9 驱动支持直接在连接字符串配置该参数,可直接禁用自动开启的链式事务模式,不会出现高版本驱动自动覆盖参数的问题LINKS:连接协议,本地访问优先用SharedMemory性能更高,远程访问用TCPIP,默认端口为2638,若你的服务修改了端口需对应调整- 若需要解决查询超时问题,可在连接字符串追加
CommandTimeout=0参数取消默认超时限制,或设置为你需要的超时秒数
连接字符串解析失败排查
如果出现连接字符串无法解析的问题,优先检查引用的iAnywhere.Data.AsaClient.dll是否为SQL Anywhere 9 对应版本,不要和高版本的SA驱动dll混用,避免版本兼容问题。
连接建立完成后可执行SELECT @@CHAINED语句验证参数值,返回0即代表CHAINED模式已成功关闭。
内容的提问来源于stack exchange,提问作者user2414791
相关产品推荐
相关产品推荐

