Для подключения к базе данных MS SQL с помощью odbc драйвера в powershell нужно создать экземпляр OdbcCommand класса пространства имён System.Data.Odbc .Net Framework.
$cn = New-Object System.Data.Odbc.OdbcCommandЭтот объект содержит следующие свойства:
CommandText :Заполним нужные из них.
CommandTimeout : 30
CommandType : Text
Connection :
DesignTimeVisible : True
Parameters : {}
Transaction :
UpdatedRowSource : Both
Site :
Container :
В свойстве " CommandText " укажем желаемый SQL-запрос.
В итоге, свойства объекта $cn примут такие значения
Зададим свойство SelectCommand,
Листинг тут.
$cn.commandtext="select * from logos.dbo.content"В свойство "Connection" данные для подключения.
$cn.connection="dsn=logosdrv;uid=sa;pwd=SECRET;database=logos", где dsn - имя созданного odbc источника данных, uid - имя пользователя, pwd - пароль, database - базаданных.
В итоге, свойства объекта $cn примут такие значения
CommandText : select * from logos.dbo.content, в свою очередь его свойство "Connection" такие
CommandTimeout : 30
CommandType : Text
Connection : System.Data.Odbc.OdbcConnection
DesignTimeVisible : True
Parameters : {}
Transaction :
UpdatedRowSource : Both
Site :
Container :
ConnectionString : dsn=logosdrv;uid=sa;pwd=SECRET;database=logosТеперь нужно открыть соединение. Для это используется метод open(), соответствующего свойства.
ConnectionTimeout : 15
Database :
DataSource :
ServerVersion :
State : Closed
Driver :
Site :
Container :
$cn.connection.open()И значения свойства "Connection" становятся такими
ConnectionString : dsn=logosdrv;uid=sa;database=logosТеперь подключение к базе установлено и можно совершать SQL-запросы.
ConnectionTimeout : 15
Database : logos
DataSource : SRV-SQL\BEGEMOT
ServerVersion : 12.00.4100
State : Open
Driver : msodbcsql11.dll
Site :
Container :
Полный Листинг тут.
Ещё один способ подключения к MS SQL, это создать экземпляр OdbcDataAdapter класса того же пространства имён.
$da=new-object system.data.odbc.odbcdataadapter
, который имеет следующие свойства:
DeleteCommand :Т.е. тут уже сразу выделены четыре вида команд: DeleteCommand, InsertCommand, SelectCommand и UpdateCommand.
InsertCommand :
SelectCommand :
UpdateCommand :
UpdateBatchSize : 1
AcceptChangesDuringFill : True
AcceptChangesDuringUpdate : True
ContinueUpdateOnError : False
FillLoadOption : OverwriteChanges
MissingMappingAction : Passthrough
MissingSchemaAction : Add
ReturnProviderSpecificTypes : False
TableMappings : {}
Site :
Container :
Зададим свойство SelectCommand,
$da.selectcommand="select * from logos.dbo.content"Это свойство имеет свои свойства:
CommandText : select * from logos.dbo.contentЗададим свойство Connection.
CommandTimeout : 30
CommandType : Text
Connection :
DesignTimeVisible : True
Parameters : {}
Transaction :
UpdatedRowSource : Both
Site :
Container :
$da.selectcommand.connection="dsn=logosdrv;uid=sa;pwd=SECRET;database=logos"со свойствами
ConnectionString : dsn=logosdrv;uid=sa;pwd=SECRET;database=logosОткроем соединение.
ConnectionTimeout : 15
Database :
DataSource :
ServerVersion :
State : Closed
Driver :
Site :
Container :
$da.selectcommand.connection.open()
ConnectionString : dsn=logosdrv;uid=sa;database=logosИ теперь можно делать запросы.
ConnectionTimeout : 15
Database : logos
DataSource : SRV-SQL\BEGEMOT
ServerVersion : 12.00.4100
State : Open
Driver : msodbcsql11.dll
Site :
Container :
Листинг тут.
Комментариев нет :
Отправить комментарий