我们有一个excel文件,其中包含与数据库的连接以检索数据(使用select语句)。
我们希望通过(最好的PowerShell)脚本更新该文件的连接字符串,以使其查询另一台服务器。
例如: 我有report.xlsx文件连接到服务器A. 我运行update-connection.ps1 当我打开report.xlsx时,它现在连接到服务器B.
知道我们该怎么做吗?
感谢。
答案 0 :(得分:1)
如果您决定(允许)将连接(服务器名称)存储在工作表中,那么应该相当容易。您的VBA代码可以根据单元格的值动态构建连接字符串。 (我可能会创建一个命名范围并在代码中使用它。)
我不知道PowerShell,但代码看起来像:
$workbook.Range("Server").Value2 = "PROD_01"
如果您愿意,可以隐藏工作表,但这不是一个严重的安全措施。
答案 1 :(得分:0)
您可以尝试通过PowerShell自动化Excel,如本文所述:http://kentfinkle.com/PowershellAndExcel.aspx
如果您不想自动化Excel,那么您可以尝试在PowerShell脚本中使用类似ClosedXML的内容:http://closedxml.codeplex.com/
答案 2 :(得分:-1)
您可以使用System.Data.Common.DbConnectionStringBuilder解析connectionstring。检查这个SO线程: