Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在excel中更改多个数据连接字符串_Excel_Vba_Connection String - Fatal编程技术网

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

在excel中更改多个数据连接字符串,excel,vba,connection-string,Excel,Vba,Connection String,我有9张工作表连接到teradata中的不同表,每次刷新时,它都会要求我输入用户名和PWD。最后我输入了9次 我不太熟悉VBA,但我已经编写了一个VBA代码来更改具有一个数据连接的电子表格的连接字符串。(请在下面找到我使用的代码) 当我使用此VBA代码更改具有9个连接的电子表格的连接字符串时,我将获得“Teradata数据库连接弹出窗口”,并且必须再次输入我的用户id和PWD 请有人解释一下为什么我要用这个弹出框来输入我的密码,或者请提供一个VBA代码来使用VBA更改excel中的连接字符串,或

我有9张工作表连接到teradata中的不同表,每次刷新时,它都会要求我输入用户名和PWD。最后我输入了9次

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

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

请有人解释一下为什么我要用这个弹出框来输入我的密码,或者请提供一个VBA代码来使用VBA更改excel中的连接字符串,或者请告诉我我是否做错了什么

谢谢 西亚姆


您需要将用户名和密码都设置为字符串,然后进行设置。您已经在调用它们,但尚未在任何地方定义它们。(除非你在发帖时漏掉了?)


或者是这样,或者你不能调用它们,它应该验证你是否有自动连接的权限。但是,为了实现这一点,您将完全省略用户名和密码,并输入
Trusted\u Connection=Yes

我已将其定义为Public UID as String Public PWD as String Public DSN as String您是否尝试使用
受信任的\u连接
?只要您的帐户正常具有访问权限,您就可以使用它。这样,您就不必将UID和PWD放入代码中。此电子表格也将被其他人使用,因此无法使用受信任的连接,请给出建议?您是本地设置UID和PWD还是公开设置UID?我将UID设置为公开
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