Как обновить строку подключения файла Excel из скрипта (PS) - PullRequest
0 голосов
/ 10 ноября 2011

У нас есть файл Excel, который содержит соединение с базой данных для извлечения данных (с помощью оператора select).

Мы хотим обновить через скрипт (предпочтительно powershell) строку подключения этого файла, чтобы сделатьвместо этого он запрашивает другой сервер.

Например, у меня есть файл report.xlsx, который подключается к серверу A. Я запускаю update-connection.ps1, а когда я открываю report.xlsx, он теперь подключается к серверу B.

Есть идеи, как мы можем это сделать?

Спасибо.

Ответы [ 3 ]

1 голос
/ 10 ноября 2011

Должно быть достаточно легко, если вы решите (разрешите) сохранить соединение (имя сервера) в рабочем листе. Ваш код VBA может динамически создавать строку подключения на основе значения ячейки. (Я бы, вероятно, создал именованный диапазон и использовал бы его в коде).

Я не знаю PowerShell, но код может выглядеть примерно так:

$workbook.Range("Server").Value2 = "PROD_01"

Вы можете сделать лист скрытым, если хотите, но это не является серьезной защитой.

0 голосов
/ 10 ноября 2011

Вы можете попробовать автоматизировать Excel с помощью PowerShell, как в этой статье: http://kentfinkle.com/PowershellAndExcel.aspx

Если вы не хотите автоматизировать Excel, вы можете попробовать использовать что-то вроде ClosedXML в вашем скрипте PowerShell: http://closedxml.codeplex.com/

0 голосов
/ 10 ноября 2011

Вы можете проанализировать строку соединения с System.Data.Common.DbConnectionStringBuilder. Проверьте эту SO тему:

регулярное выражение Powershell для строки подключения?

...