我的办公室最近进行了一些服务器迁移,结果,我们的网页现在使用了不同的数据源。对于我们的环境,我们通常使用SQL Server,尽管我们也有一个链接服务器到Oracle数据库。我很难找到我需要更新其中一个网页的用户名和密码的地方。
通常来说,此过程非常简单:转到Web.Config,找到页面正在使用的连接字符串,然后使用相关的数据源,用户名和密码进行更新。但是,此页面是不同的。首先,我在访问页面时收到此错误:
错误[28000] [Oracle] [ODBC] [Ora] ORA-01017:无效的用户名/密码; 登录被拒绝
错误[IM006] [Microsoft] [ODBC驱动程序管理器]驱动程序 SQLSetConnectAttr失败
错误[28000] [Oracle] [ODBC] [Ora] ORA-01017:无效的用户名/密码; 登录失败
好的,所以很明显我需要在某个地方更新密码。我转到Web.Config,但没有看到任何连接字符串。这对我来说是第一次,所以我开始四处张望,我唯一看到的(值得一提的)是这一行:
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1; Trusted_Connection=yes" cookieless="false" timeout="20"/>
对我来说,这表明数据库是本地的,或者至少我的问题出在Web服务器本身上。因此,我进行了远程访问,并检查了Oracle和SQL Server的ODBC连接;没有问题。他们每个人都工作。我什至检查32位和64位连接。
谷歌搜索“驱动程序的SQLSetConnectAttr失败”告诉我这是ODBC问题,但是同样...我找不到任何东西。
有人对我为什么会不断收到这些错误以及如何解决该错误有任何想法吗?
答案 0 :(得分:0)
我(从技术上来说,我的同事)找到了答案。答案在于IIS。基本上,我们缺少两个连接字符串。第一个引用驱动程序,第二个(我相信)包含通过第一个连接字符串传递给ODBC驱动程序的用户名/密码。通常,连接字符串存储在程序(web.config文件)中,在这种情况下,它位于实际服务器上。该程序在那儿寻找连接字符串,但找不到它。