我与使用远程数据对象(RDO)2.这里连接到Oracle11g的服务器的旧的Visual Basic 6应用程序的工作是我的代码:服务器名称自败
Dim rdoCon As New rdoConnection
rdoCon.Connect = "DRIVER={Microsoft ODBC for Oracle};SERVER=os11atst.world;"
Debug.Print rdoCon.Connect '1
'Prompt the user to enter credentials and connect to the server:
rdoCon.EstablishConnection rdDriverComplete, False
Debug.Print rdoCon.Connect '2
的第一Debug.Print
给我这个(预期):
DRIVER={Microsoft ODBC for Oracle};SERVER=os11atst.world;
然而,第二个给了我这样的:
DRIVER={Microsoft ODBC for Oracle};UID=username;PWD=password;
即使连接正常工作,SERVER
参数也会丢失。这对我来说是个问题,因为我需要知道连接到的是什么服务器。我不能简单地使用第一个字符串中的信息,因为用户(并且应该)能够在提示输入用户名和密码的情况下更改服务器。
此问题来自于无处,可能与从Windows XP升级到7有关。以前该程序没有表现出这种行为,或者老年同事告诉我。虽然不是100%确定这是正确的。
如何防止服务器名称的缺失?除了查看连接字符串之外,我能否以任何其他方式获取服务器的名称?
我对包括升级到比RDO更新的解决方案不感兴趣。由于外部原因,我坚持使用它。
RDO是一个从过去的爆炸。把它放在一个变量中? '“..SERVER =”&strLastEnteredOrDefaultServerName' –
@Alex K:我知道它已经很老了,但是这个程序对很少用户来说是值得改造的......理论上我可以把它放在一个字符串中,但这需要用代码搞乱一些代码(取代自动提示),我想尽可能少地触碰这个老的野兽,以防止任何未解决的问题。 – Anders