密码从ODBC数据源管理器中消失

时间:2014-08-07 12:48:43

标签: sql sql-server excel powershell

我基于

创建了一个用户数据源

http://blog.mclaughlinsoftware.com/2012/09/12/sql-server-odbc-osn/

当我尝试调用将SQL数据发送到EXCEL

的powershell脚本时
$qt = $ws.QueryTables.Add("ODBC;DSN=$DSN", $ws.Range("A1"), $SQL)

if ($qt.Refresh()){
    $ws.Activate()
    $ws.Select()
}

出现EXCEL电子表格并提示我输入创建DSN时输入的SAME密码

enter image description here

当我转到ODBC数据源管理员时,选择我创建的DSN,单击"配置",然后继续"下一步",它显示密码字段为空

enter image description here

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

1 个答案:

答案 0 :(得分:1)

您需要在应用程序连接中指定用户标识和密码,以避免出现提示。 SQL Server ODBC驱动程序不存储用户凭据。我相信您只需在连接字符串中指定凭据:

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

请注意,永远不要将sa登录用于例行应用程序数据访问。