2016-01-04 75 views
0

我想获得连接字符串的权利,并使用odbcad32.exe来测试连接。odbcad32.exe测试连接通过,但程序连接失败

问题是,无论输入什么密码,我都会建立连接。

这似乎很无用。

我的.NET程序失败,未找到数据源名称,并且没有指定默认驱动程序,即使odbcad32.exe获取连接没有问题。

数据源名称:Test_Blah 说明:Test_Blah 主机名:BLH住房 端口号:5060 数据库名称:IH 用户ID:管理员 驱动程序:进度OpenEdge驱动器102亿密码 (空间)

这是我的连接字符串:

<add name="BlhConnection" connectionString="DSN=Test_Blah;UID=Administrator;PWD=' ' ;" /> 

任何想法如何,我可以得到这个工作?

回答

0

32位ODBC驱动程序和基于这些的连接只能由32位客户端访问。

您没有提及您的操作系统 - 但是当您的客户端应用程序是64位应用程序时,32位ODBC驱动程序将不起作用。我不是100%肯定 - 但我怀疑在10.2B中有OpenEdge的64位ODBC驱动程序。在OpenEdge 11上,这没有问题。

+0

该操作系统是64位的。我已经表现出我自己的满意度,该程序没有错,在Live文件上也进行了测试。唯一的问题是这个测试数据库连接。为什么OBCAD32.exe连接任何密码?这是一个垃圾测试。 –

+0

我能够在SQL Server Management Studio中设置链接服务器,打开它并查看表格。但是,当我运行我的解压缩应用程序时,仍然出现此错误:System.Data.Odbc.OdbcException:错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称,没有指定默认驱动程序 –

0

我会首先验证您是否拥有正确的登录凭证。特别是因为你声明,无论你使用什么,你都会得到相同的结果。

验证凭证的最简单方法是登录到数据库服务器并打开“proenv”会话。使用proenv可确保正确设置所有Progress环境。如果它是Windows服务器,则“Proenv”位于Progress或OpenEdge程序组中,如果服务器是UNIX,则可以从命令行运行“$ DLC/bin/proenv”。运行proenv shell之后,您可以使用Progress提供的“sqlexp”工具来验证连接字符串和凭证。例如:

sqlexp -user userName -password passWord -db dbName -S portNum 
+0

我不知道如何去做你的建议。登录到数据库服务器 - 如何?在使用proenv时找不到任何适当的指南。 –

+0

第一步是确定数据库服务器是否是Windows系统或者是否运行Unix系统?谁设置了数据库?该人应该了解上述说明。这些命令的目的是为了演示服务器上正在运行的SQL-92服务器以及您认为处于启动状态的端口,并且您的用户名和密码是正确的。如果测试工作,那么问题在于你的.NET代码。如果测试失败,那么问题在于数据库服务器配置信息。 –

+0

我能够在SQL Server Management Studio中设置链接服务器,打开它并查看表格。但是,当我运行我的解压缩应用程序时,仍然出现此错误:System.Data.Odbc。OdbcException:错误[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称并且未指定默认驱动程序 –