我在我的服务器和PC上安装了SYBASE 12.5,我无法获得正确的连接字符串。
我使用了connectionstrings.com但无法获得正确的。
runnig并建立连接后
Driver = {Sybase ASE ODBC Driver}; srvr = server_name; database = database_name; UID = user_name; PWD = pass;
和其他一些连接字符串
的组合我得到了 数据源=“” 司机=“” 数据库=“” ServerVersion =无效操作。连接已关闭
我想要纠正的是什么。
请帮忙。
由于
答案 0 :(得分:1)
我没有使用过Sybase,但我认为this page connectionstring.com肯定可以为您提供帮助。
答案 1 :(得分:1)
我没有看到你的连接字符串中声明了一个端口,所以我想知道这是不是问题。无论如何,如果您使用的是Windows,可能会尝试使用:
udl
扩展名重命名该文件(例如Foo.udl)。答案 2 :(得分:0)
我意识到这是一个老问题。也许这会帮助其他人试图解决他们的Sybase问题。
也就是说,在构建.Net应用程序时,通常应该使用本机.Net对象进行数据库访问(如果可用)。 Sybase确实提供了它们,尽管它们似乎有点难以实现。如果您的组织使用的是Sybase数据库,则有人应该有权从SAP / Sybase portal下载适当的工具。请注意,此引用的链接是"开发人员"版本,可能不适合您的要求。
使用Sybase.Data.AseClient.AseConnection时,您的连接字符串可能如下所示:
Server=MyServer; Port=MyPort; Database=MyDatabase; User ID=MyUserID; Password=MyPassword
请注意,您可能还需要在连接字符串中显式设置charset和codepage:
Charset=ClientDefault;CodePageType=other;clientCharset=iso_1;
有关charset / codepage的详细信息,请参阅here。
上面的连接字符串对我有用。我必须添加charset部分才能让它在我的开发机器之外工作。
另请注意.Net4对象可能存在内存泄漏问题。一个简单的SQL语句定期触发"尝试读取或写入受保护的内存"我的例外。一旦我切换到.Net2对象,该错误就消失了。请参阅here。
不幸的是,Sybase驱动程序的整体质量似乎很低。我能够在驱动程序的先前版本(我相信15.03)上运行ODBC版本,但是.Net2连接对象总是会抛出实例化时出现的DLL错误。现在我使用15.70,并且我在.Net4对象上遇到了上述内存泄漏问题,但目前.Net2对象工作正常。