我基于
创建了一个用户数据源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密码
当我转到ODBC数据源管理员时,选择我创建的DSN,单击"配置",然后继续"下一步",它显示密码字段为空
如何解决这个问题 1.密码保留在DSN中 2.每次运行将SQL数据发送到EXCEL的Powershell脚本时,都不会提示我输入密码
答案 0 :(得分:1)
您需要在应用程序连接中指定用户标识和密码,以避免出现提示。 SQL Server ODBC驱动程序不存储用户凭据。我相信您只需在连接字符串中指定凭据:
$qt = $ws.QueryTables.Add("ODBC;DSN=$DSN;UID=YourLogin;PWD=YourLoginPassword", $ws.Range("A1"), $SQL)
请注意,永远不要将sa
登录用于例行应用程序数据访问。