PowerShell 连接SQL Server 数据库
PowerShell 连接SQL Server 数据库 2
PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本。工作中整理的一小段脚本,后来没有用上,先记录在这里:
- 建立数据库连接
- 查询返回一个DataTatble对象
- 执行一条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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# # 建立数据库连接. # function New-SqlConnection ( [string] $connectionStr ) { $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection .ConnectionString = $connectionStr try{ $SqlConnection .Open() Write-Host 'Connected to sql server.' return $SqlConnection } catch [exception] { Write-Warning ( 'Connect to database failed with error message:{0}' -f , $_ ) $SqlConnection .Dispose() return $null } } # # 查询返回一个DataTable对象 # function Get-SqlDataTable { param ( [System.Data.SqlClient.SqlConnection] $SqlConnection , [string] $query ) $dataSet = new-object "System.Data.DataSet" "WrestlersDataset" $dataAdapter = new-object "System.Data.SqlClient.SqlDataAdapter" ( $query , $SqlConnection ) $dataAdapter .Fill( $dataSet ) | Out-Null return $dataSet .Tables | select -First 1 } # # 执行一条SQL命令 # function Execute-SqlCommandNonQuery { param ( [System.Data.SqlClient.SqlConnection] $SqlConnection , [string] $Command ) $cmd = $SqlConnection .CreateCommand() try { $cmd .CommandText = $Command $cmd .ExecuteNonQuery() | Out-Null return $true } catch [Exception] { Write-Warning ( 'Execute Sql command failed with error message:{0}' -f $_ ) return $false } finally { $SqlConnection .Close() } } # # 通过事物处理执行多条SQL命令 # function Execute-SqlCommandsNonQuery { param ( [System.Data.SqlClient.SqlConnection] $SqlConnection , [string[]] $Commands ) $transaction = $SqlConnection .BeginTransaction() $command = $SqlConnection .CreateCommand() $command .Transaction = $transaction try { foreach ( $cmd in $Commands ) { #Write-Host $cmd -ForegroundColor Blue $command .CommandText = $cmd $command .ExecuteNonQuery() } $transaction .Commit() return $true } catch [Exception] { $transaction .Rollback() Write-Warning ( 'Execute Sql commands failed with error message:{0}' -f $_ ) return $false } finally { $SqlConnection .Close() } } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!