我意识到这是一个老问题。也许这会帮助别人试图解决他们的Sybase问题。
也就是说,在构建.Net应用程序时,通常应该使用本机.Net对象进行数据库访问(如果可用)。 Sybase确实提供了它们,尽管它们似乎有点难以实现。如果您的组织正在使用Sybase数据库,则有人应该有权从SAP/Sybase portal中为您下载适当的工具。注意这个引用的链接是“开发者”版本,可能不适合您的要求。
当使用Sybase.Data.AseClient.AseConnection,连接字符串可能是这样的:
Server=MyServer; Port=MyPort; Database=MyDatabase; User ID=MyUserID; Password=MyPassword
请注意,您可能还需要明确设置在连接字符串中的字符集和代码页,以及:
Charset=ClientDefault;CodePageType=other;clientCharset=iso_1;
上的字符集/代码页的详细信息,请参见here。
上述连接字符串适用于我。我必须添加charset部分才能在我的开发机器之外工作。
另请注意.Net4对象可能有内存泄漏问题。一个简单的SQL语句会定期触发“尝试读取或写入受保护的内存”例外。一旦我切换到.Net2对象,该错误就消失了。请参阅here。
不幸的是,Sybase驱动程序的整体质量似乎很低。我能够获得ODBC版本的驱动程序的早期版本(我相信15.03),但是.Net2连接对象总是会抛出实例化时出现的DLL错误。现在我正在使用15.70,并且.Net4对象有上述内存泄漏问题,但目前.Net2对象工作正常。
我尝试过,但没有为我工作 – Nits 2010-05-28 04:46:23