Для подключения к Access-у проще всего воспользоваться библиотекой ADO (Microsoft ActiveX Data Object). Делается это аналогично, как и с любым другим подключением, например, к SQL Server, пример которого был рассмотрен в предыдущей статье. Ниже приведу примеры работы с Access-ом из скрипта PowerShell.
Работа с базой данных Microsoft Access из скрипта PowerShell
$BaseName = "c:\work\test.accdb"; # путь и имя файла базы $connection = New-Object -com "ADODB.Connection" $connectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=$BaseName;" $connection.Open($connectionString)
Для Access-а 2007-го и ниже просто используйте другую строку подключения:
$connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$BaseName;"
Выполнение запроса к базе и обход результатов:
$recordSet = $connection.Execute("текст_sql-запроса") While(-not $recordSet.EOF) { echo $recordSet.Fields.Item(0).Value $recordSet.MoveNext() }
Выполнение запроса на изменение данных
$connection.Execute("текст_sql-запроса_на_изменение_или_добавление_данных")
Другой способ добавления данных в базу:
$recordSet = new-object -ComObject ADODB.Recordset $recordSet.AddNew() $recordSet.Fields.Item("Field1").value = "test1" $recordSet.Fields.Item("Field2").value = "test2" $recordSet.Update()
Закрытие подключения к базе:
$connection.Close()
В дополнение скажу, что кроме английских названий таблиц и полей, вы так же можете совершенно спокойно использовать русскоязычные названия и писать их в своем скрипте.
Комментарии к статье:
Добавить комментарий: