在excel中更改多个数据连接字符串

时间:2013-11-25 17:39:06

标签: excel vba connection-string

我有9张连接到teradata中不同表的表,每次刷新它都会询问我的用户ID和PWD。我最终进入了9次。

我对VBA并不熟悉,但我编写了一个VBA代码来更改具有一个数据连接的电子表格的连接字符串。 (请在下面找到我使用的代码)。

当我使用此VBA代码更改电子表格的连接字符串时,我将获得9个连接“Teradata数据库连接弹出窗口”,并且必须再次输入我的用户ID和PWD。

有人可以解释为什么我得到这个弹出窗口 - 输入我的密码或者请提供VBA代码以使用VBA更改excel中的连接字符串,或者请告诉我我是否做错了。

由于 SYAM

Sub UPDATE()

Dim ct As String
Dim connect
Dim ncon As String
Dim nconr As String

DSN = "GDWPROD2"
'this checks number of data connection
ct = ActiveWorkbook.Connections.Count

While ct > 0
Set i = ActiveWorkbook.Connections.Item(1)
connect = i.ODBCConnection.Connection
'checks for user id and password
'CheckCredentials
ncon = "ODBC;" & "DSN=" & DSN & ";UID=" & UID & ";PWD=" & PWD & ";" & "DATABASE=PROF_LEADS_VERDE;"
i.ODBCConnection.Connection = ncon
ct = ct - 1
Wend

 ActiveWorkbook.RefreshAll

End Sub

1 个答案:

答案 0 :(得分:0)

您需要将用户名和密码作为字符串进行调暗,然后进行设置。你已经打电话给他们,但你还没有在任何地方定义它们。 (除非你在发布时遗漏了吗?)

或者你不能调用它们,它应该验证你是否有权自动连接。但是,为了实现这一点,您将完全省略用户名和密码并改为使用Trusted_Connection=Yes;