是否可以将标准的ado连接字符串传递给Invoke-SqlCmd

Jon*_*ien 5 sql-server powershell

是否可以使用如下连接字符串:

Data Source=[server];Initial Catalog=[database];Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
Run Code Online (Sandbox Code Playgroud)

要么:

"Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=[database];Data Source=[server];uid=[username];pwd=[password];Pooling=true;Min Pool Size=10;Max Pool Size=500;Incr Pool Size=5;MultipleActiveResultSets=true;"
Run Code Online (Sandbox Code Playgroud)

Invoke-Sqlcmd

Jth*_*rpe 5

其实,是.

在撰写本文invoke-sqlcmd时,SQLServer模块中提供的-connectionString参数包括一个参数.

  • 确认它有效。只需确保删除旧的“SQLPS”PowerShell 模块,该模块包含不支持完全控制连接字符串的另一个版本的`Invoke-sqlcmd`。 (3认同)

Kev*_*Kev 3

当这个问题被问到的时候,没有。最近,是的,Invoke-Sqlcmd现在支持-ConnectionString接受标准数据库连接字符串作为值的参数。

以前,您需要分解连接字符串中的每个参数并将它们与Invoke-Sqlcmd接受的参数进行匹配。

如果您具有灵活性并且受困于冻结的旧环境,您可能希望回避 Chad MillerInvoke Sqlcmd2并使其接受 ADO.NET 连接字符串作为其参数之一:

https://gallery.technet.microsoft.com/scriptcenter/7985b7ef-ed89-4dfd-b02a-433cc4e30894