Пропаганда

вторник, 9 февраля 2016 г.

PowerShell. Подключение к MS SQL с помощью Native client драйвер.

Для подключения к базе данных MS SQL с помощью Native client драйвера в powershell нужно создать экземпляр SqlCommand класса пространства имён System.Data.SqlClient .Net Framework.
$cn=new-object system.data.sqlclient.sqlcommand
, который имеет следующие свойства:

Connection                         :
NotificationAutoEnlist       : True
Notification                        :
Transaction                        :
CommandText                   :
ColumnEncryptionSetting : UseConnectionSetting
CommandTimeout             : 30
CommandType                  : Text
DesignTimeVisible            : True
Parameters                          : {}
UpdatedRowSource           : Both
Site                    :
Container               :
Заполним свойства CommandText и Connection.

 $cn.commandtext="select * from logos.dbo.content"
и
 $cn.connection="server=srv-sql\begemot;uid=sa;pwd=SECRET;database=logos"
, где в поле server указывается имя компьютера\имя sql сервера (instance), uid - имя пользователя, pwd пароль, database - база данных.
который имеет следующие свойства:
 StatisticsEnabled                : False
AccessToken                       :
ConnectionString                : server=srv-sql\begemot;uid=sa;pwd=SECRET;database=logos
ConnectionTimeout            : 15
Database                             : logos
DataSource                         : srv-sql\begemot
PacketSize                          : 8000
ClientConnectionId            : 00000000-0000-0000-0000-000000000000
ServerVersion                    :
State                                   : Closed
WorkstationId                    : PRV-LAPTOP
Credential                       :
FireInfoMessageEventOnUserErrors : False
Site                             :
Container                        :
Теперь откроем соединение.
 $cn.connection.open()
И у него следующие свойства:

StatisticsEnabled                : False
AccessToken                      :
ConnectionString                : server=srv-sql\begemot;uid=sa;database=logos
ConnectionTimeout            : 15
Database                             : logos
DataSource                         : srv-sql\begemot
PacketSize                          : 8000
ClientConnectionId            : e63491f6-ca6a-4410-b2a2-eb4845719347
ServerVersion                    : 12.00.4100
State                                   : Open
WorkstationId                    : PRV-LAPTOP
Credential                          :
FireInfoMessageEventOnUserErrors : False
Site                             :
Container                        :
Теперь можно делать запросы.
Листинг тут
Ещё один способ подключения это создать экземпляр SqlDataAdapter класса пространства имён System.Data.SqlClient .Net Framework.
$da=new-object system.data.sqlclient.sqldataadapter
, у которого имеются следующие свойства:
DeleteCommand                       :
InsertCommand                         :
SelectCommand                        :
UpdateBatchSize                       : 1
UpdateCommand                       :
AcceptChangesDuringFill         : True
AcceptChangesDuringUpdate   : True
ContinueUpdateOnError            : False
FillLoadOption                          : OverwriteChanges
MissingMappingAction             : Passthrough
MissingSchemaAction               : Add
ReturnProviderSpecificTypes    : False
TableMappings                          : {}
Site                        :
Container                   :
Как видим, тут имеются уже четыре команды DeleteCommand, InsertCommand, SelectCommand и UpdateCommand.

Зададим команду SelectCommand.
$da.selectcommand="select * from logos.dbo.content"
в свою очеред у него следующие свойства:
 Connection                        :
NotificationAutoEnlist       : True
Notification                        :
Transaction                        :
CommandText                   : select * from logos.dbo.content
ColumnEncryptionSetting : UseConnectionSetting
CommandTimeout             : 30
CommandType                  : Text
DesignTimeVisible            : True
Parameters                          : {}
UpdatedRowSource           : Both
Site                    :
Container               :
Зададим свойство Connection.
$da.selectcommand.connection="server=srv-sql\begemot;uid=sa;pwd=SECRET;database=logos"
Его свойства:
 StatisticsEnabled                : False
AccessToken                       :
ConnectionString                 : server=srv-sql\begemot;uid=sa;pwd=SECRET;database=logos
ConnectionTimeout              : 15
Database                               : logos
DataSource                           : srv-sql\begemot
PacketSize                            : 8000
ClientConnectionId              : 00000000-0000-0000-0000-000000000000
ServerVersion                      
State                                      : Closed
WorkstationId                       : PRV-LAPTOP
Credential                       :
FireInfoMessageEventOnUserErrors : False
Site                             :
Container                        :
Откроем соединение.
 $da.selectcommand.connection.open()
Свойства:
 StatisticsEnabled                 : False
AccessToken                        :
ConnectionString                 : server=srv-sql\begemot;uid=sa;database=logos
ConnectionTimeout             : 15
Database                              : logos
DataSource                          : srv-sql\begemot
PacketSize                           : 8000
ClientConnectionId             : a10ca4fe-9577-4598-be99-d9e8941f5c3c
ServerVersion                      : 12.00.4100
State                                     : Open
WorkstationId                      : PRV-LAPTOP
Credential                       :
FireInfoMessageEventOnUserErrors : False
Site                             :
Container                        :
И теперь можно делать делать запросы.
Листинг тут

Комментариев нет :

Отправить комментарий