【发布时间】:2019-11-13 14:41:41
【问题描述】:
我正在使用 VBA 连接到 Oracle 数据库。除非密码包含分号,否则一切正常。
这是我连接数据库的方式:
Dim cn As ADODB.Connection
Dim strCon As String
Set cn = New ADODB.Connection
strCon = "Driver={Oracle in OracleClient32_home1};Dbq=" & tnsName & ";" & _
"Uid=" & user & "; Pwd=" & password & ";"
'Open the connection
cn.Open strCon
如果密码类似于“pass;word”,则登录失败,说明密码错误。
我试过了:
-
用大括号将密码括起来:
Pwd={" & password & "};"这将返回无效字符串或缓冲区长度作为错误。
-
用双引号括起来:
Pwd=" & Chr(34) & password & Chr(34) & ";"这也将无效字符串或缓冲区长度作为错误返回。
【问题讨论】:
-
尝试用单引号填充它
Pwd='" & password & "';" -
感谢您的回答 - 不幸的是,我还收到错误“无效的字符串或缓冲区长度”错误...
-
作为一个侧节点,我认为无效字符串或缓冲区长度的错误有点奇怪 - 可能是 32 位 - 64 位问题?
标签: excel vba oracle odbc database-connection