密码从ODBC数据源pipe理员中消失

我创build了一个基于的用户数据源

SQL Server ODBC DSN

当我尝试调用将SQL数据发送到EXCEL的PowerShell脚本时

$qt = $ws.QueryTables.Add("ODBC;DSN=$DSN", $ws.Range("A1"), $SQL) if ($qt.Refresh()){ $ws.Activate() $ws.Select() } 

出现EXCEL电子表格,并提示我input创buildDSN时input的SAME密码

在这里输入图像说明

当我去ODBC数据源pipe理员,select我创build的DSN,点击“configuration”,继续“下一步”,它显示密码字段为空

在这里输入图像说明

我如何解决这个问题1.密码保留在DSN 2.我每次运行Powershell脚本都不会提示input密码,这个脚本会将SQL数据发送到EXCEL

您需要在应用程序连接中指定用户标识和密码以避免提示。 SQL Server ODBC驱动程序不存储用户凭据。 我相信你可以在连接string中指定凭证:

 $qt = $ws.QueryTables.Add("ODBC;DSN=$DSN;UID=YourLogin;PWD=YourLoginPassword", $ws.Range("A1"), $SQL) 

请注意,您绝对不应该使用salogin进行日常应用程序数据访问。