【问题标题】:Sybase ODBC connection String with .net带有 .net 的 Sybase ODBC 连接字符串
【发布时间】:2010-05-28 04:34:02
【问题描述】:

我的服务器和 PC 上都安装了 SYBASE 12.5,我无法获得正确的连接字符串。

我使用了connectionstrings.com,但找不到正确的。

运行并建立连接后

Driver={Sybase ASE ODBC Driver};srvr=server_name;database=database_name;UID=user_name;PWD=pass;

和其他一些连接字符串的组合

我得到了 数据源="" 司机="" 数据库="" ServerVersion = 无效操作。连接已关闭

我想纠正什么。

请帮忙。

谢谢

【问题讨论】:

    标签: c# .net database-connection connection-string sap-ase


    【解决方案1】:

    我没有使用过 Sybase,但我认为 this page connectionstring.com 肯定可以帮助您。

    【讨论】:

      【解决方案2】:

      我没有看到您的连接字符串中声明的端口,所以我想知道这是否是问题所在。无论如何,如果您使用的是 Windows,您可能会尝试以下技巧:

      1. 在您的桌面上创建一个文本文件(例如 Foo.txt)
      2. udl 扩展名重命名文件(例如Foo.udl)。
      3. 双击文件。这应该会打开 ODBC 属性页面(又名数据链接属性),您可以在其中构建连接字符串并测试连接。由于该文件的核心仍然是一个文本文件,因此您可以在文本编辑器中打开该文件,它会为您提供连接字符串。

      【讨论】:

      • 在提供程序列表中我找不到 Sybase odbc 提供程序。我得到的是 sybase Oledb 提供程序。
      • @nitinkhanna - 这似乎表明您的计算机上没有安装 Sybase ODBC 驱动程序。
      【解决方案3】:

      我意识到这是一个老问题。也许这会帮助其他人尝试解决他们的 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

      上面的连接字符串对我有用。我必须添加字符集部分才能让它在我的开发机器之外工作。

      还要注意 .Net4 对象可能存在内存泄漏问题。一个简单的 SQL 语句经常为我触发“尝试读取或写入受保护的内存”异常。一旦我切换到 .Net2 对象,该错误就消失了。见here

      不幸的是,Sybase 驱动程序的整体质量似乎很低。我能够让 ODBC 版本在驱动程序的早期版本(我相信是 15.03)上运行,但是 .Net2 连接对象总是会在实例化时抛出似乎是 DLL 错误的东西。现在我使用的是 15.70,并且 .Net4 对象存在上述内存泄漏问题,但目前 .Net2 对象工作正常。

      【讨论】:

        猜你喜欢
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多