下面簡單一個腳本實現訪問sqlserver,支持所有版本的SQLserver。
你是否需要連接數據庫?這里有一段代碼演示如何查詢和獲取SQL數據,只需非常簡單正確的配置你的賬戶信息、服務器地址及SQL語句就行:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
$Database
=
'Name_Of_SQLDatabase'
$Server
=
'192.168.100.200'
$UserName
=
'DatabaseUserName'
$Password
=
'SecretPassword'
$SqlQuery
=
'Select * FROM TestTable'
# Accessing Data Base
$SqlConnection
=
New-Object
-TypeName
System.Data.SqlClient.SqlConnection
$SqlConnection
.ConnectionString =
"Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password"
$SqlCmd
=
New-Object
System.Data.SqlClient.SqlCommand
$SqlCmd
.CommandText =
$SqlQuery
$SqlCmd
.Connection =
$SqlConnection
$SqlAdapter
=
New-Object
System.Data.SqlClient.SqlDataAdapter
$SqlAdapter
.SelectCommand =
$SqlCmd
$set
=
New-Object
data.dataset
# Filling Dataset
$SqlAdapter
.Fill(
$set
)
# Consuming Data
$Path
=
"$env:temp\report.hta"
$set
.Tables[0] |
ConvertTo-Html
|
Out-File
-FilePath
$Path
Invoke-Item
-Path
$Path
|
后來我又完善了這個代碼,詳細代碼注釋如下:
#配置信息 $Database = 'DemoDB' $Server = '"WIN-AHAU9NO5R6U\DOG"' $UserName = 'kk' $Password = '123456' #創建連接對象 $SqlConn = New-Object System.Data.SqlClient.SqlConnection #使用賬號連接MSSQL $SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;user id=$UserName;pwd=$Password" #或者以 windows 認證連接 MSSQL #$SqlConn.ConnectionString = "Data Source=$Server;Initial Catalog=$Database;Integrated Security=SSPI;" #打開數據庫連接 $SqlConn.open() #執行語句方法一 $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.connection = $SqlConn $SqlCmd.commandtext = 'delete top(1) from dbo.B' $SqlCmd.executenonquery() #執行語句方法二 $SqlCmd = $SqlConn.CreateCommand() $SqlCmd.commandtext = 'delete top(1) from dbo.B' $SqlCmd.ExecuteScalar() #方法三,查詢顯示 $SqlCmd.commandtext = 'select name,recovery_model_desc,log_reuse_wait_desc from sys.databases' $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $set = New-Object data.dataset $SqlAdapter.Fill($set) $set.Tables[0] | Format-Table -Auto #關閉數據庫連接 $SqlConn.close()