无法使用 ADO.NET 数据提供程序连接到 ASE-Sybase
我正在开发 ASP.NET 应用程序。我尝试使用 Sybase.Data.AseClient dll 连接到 Adaptive Server Enterprise 中的数据库。我使用的连接字符串是'Data Source='host';Port='5000';UID='user';PWD='password';Database='database';'。当应用程序尝试连接到数据库时,会引发异常。 “客户端无法建立连接”。
我尝试通过创建 ODBC 数据源来连接到数据库。当我尝试使用 ASE 驱动程序创建 DSN 时。 DSN 创建也失败。
我应该检查什么?我需要在数据库服务器中进行一些设置吗?我正在使用所有开发人员版本,并且我的数据库和应用程序位于同一台计算机上。
我可以使用 Sybase Central 连接到数据库。我可以使用 Interactive SQL 工具在同一数据库上运行查询。
I am working on ASP.NET application. I try to connect to database in Adaptive Server Enterprise using Sybase.Data.AseClient dll. Connection string that I am using is 'Data Source='host';Port='5000';UID='user';PWD='password';Database='database';'. When Application tries to connect to database exception is thrown. 'Client can not establish connection'.
I tried connecting to database by trying to create ODBC Data Source. When I try to create DSN using ASE driver. DSN creation also fails.
What should I check ? Do I need to do some settings in database server? I am using all developer editions and my database and application are on the same machine.
I can connect to database Using Sybase Central. I can run queries on same database using Interactive SQL tool.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查问题是否出在您的连接字符串上。我的配置中有此内容
使用 sybase 中心浏览器的主机和端口号验证此内容。检查 UID 和密码以及数据库名称的拼写。
如果仍然不起作用,请告诉我。另外,为什么不尝试记录错误。看起来您可以看到该消息,但还没有看到完整的错误。这可能有用
例如,我已将 app.config 中的数据库命名为 FOO。现在这个数据库不存在。因此,异常是“客户端无法建立连接”,但我的完整错误是
ERROR 2010-08-31 16:07:32,321 500ms SybaseDBHelper ingStoredProcedure - 将数据插入数据库时出错 Sybase.Data.AseClient.AseException:尝试在 sysdatabases 中查找条目名称为“foo”的数据库失败 - 在该名称下找不到任何条目。确保名称输入正确。
在 Sybase.Data.AseClient.AseConnectionPool.GetConnection(AseConnection conn)
在 Sybase.Data.AseClient.AseConnectionPoolManager.GetConnection(字符串连接字符串,AseConnection conn)
在 Sybase.Data.AseClient.AseConnection.Open()
在 C:\Documents and Settings\c001334\My Documents\Visual Studio 2008\Projects\text\Test.Common\Database\SybaseDBHelper 中的 LiabilityMI.Common.Database.SybaseDBHelper.InsertDataUsingStoredProcedure(StringstoredProcedureName,DatabaseEnum dbName,List`1 参数) .cs:第 73 行
Check if the problem is not with you connection string. I have this in my config
Verify this with the sybase center browser's host and port number. Check UID and Password and spelling of your Database name.
Let me know if it still does not work . Also why dont you try loggin the error . To be it looks like you can see the message but have not seen the complete error. That might be useful
For example I have named the database in my app.config to FOO. Now this DB does not exist. So the Exception is "Client Cannot establish Connection" but my full error is
ERROR 2010-08-31 16:07:32,321 500ms SybaseDBHelper ingStoredProcedure - Error Inserting Data into Database Sybase.Data.AseClient.AseException: Attempt to locate entry in sysdatabases for database 'foo' by name failed - no entry found under that name. Make sure that name is entered properly.
at Sybase.Data.AseClient.AseConnectionPool.GetConnection(AseConnection conn)
at Sybase.Data.AseClient.AseConnectionPoolManager.GetConnection(String connectionString, AseConnection conn)
at Sybase.Data.AseClient.AseConnection.Open()
at LiabilitiesMI.Common.Database.SybaseDBHelper.InsertDataUsingStoredProcedure(String storedProcedureName, DatabaseEnum dbName, List`1 parameters) in C:\Documents and Settings\c001334\My Documents\Visual Studio 2008\Projects\text\Test.Common\Database\SybaseDBHelper.cs:line 73