PowerShell 连接SQL

本文介绍如何使用Powershell脚本简化与SQL数据库的频繁交互过程,包括通过函数自动生成连接字符串,以及利用连接字符串执行SQL命令并获取结果,旨在提升数据库操作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为对SQL操作比较多,但有些操作其实都是重复性的,只是参数不太一样了,例如silo id, server name 等。希望可以通过powershell脚本提高效率。

尝试如下

1. 使用PowerShell 连接数据库,本地尝试,来至:http://www.pstips.net/getting-sql-server-connection-string.html.

当你用Powershell获取SQL连接字符串,你会需要“连接字符串”,这段字符串要包涵连接数据库实例的多个片段。

传统方法构建一个这样的字符串也不容易,下面有段函数也许可以帮助您完成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#requires -Version 2
function Get-ConnectionString
{
     $Path Join-Path -Path $env:TEMP -ChildPath 'dummy.udl'
   
     $null New-Item -Path $Path -ItemType File -Force
   
     $CommandArg """$env:CommonProgramFiles\System\OLE DB\oledb32.dll"",OpenDSLFile "  $Path
 
     Start-Process -FilePath Rundll32.exe -ArgumentList $CommandArg -Wait
     $ConnectionString Get-Content -Path $Path Select-Object -Last 1
     $ConnectionString | clip.exe
     Write-Warning -Message 'Connection String is also available from clipboard'
     $ConnectionString
}

当你运行Get-ConnectionString,Powershell会弹出一个对话框,你可以提交一个测试连接,接着关闭窗口,Powershell将返回一个一个连接字符串。

使用如下配置连接成功。

 

 2. Powershell 连接SQL数据库,来至:http://www.pstips.net/accessing-an-sql-database-with-a-connection-string.html

先前的技巧中我们学习了如何创建一个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
#requires -Version 2
 
# make sure this is a valid connection string to your database
# see www.connectionstrings.com for reference
$connectionString 'Provider=SQLOLEDB.1;Password=.topSecret!;Persist Security
  Info=True;User ID=sa;Initial Catalog=test;Data Source=myDBServer\SQLEXPRESS2012'
 
# make sure this is valid SQL for your database
# so in this case, make sure there is a table called "test"
$sql 'select * from test'
 
$db New-Object -ComObject ADODB.Connection
$db .Open( $connectionString )
$rs $db .Execute( $sql )
 
$results While ( $rs .EOF  -eq $false )
{
     $CustomObject New-Object -TypeName PSObject
     $rs .Fields |  ForEach-Object -Process {
         $CustomObject Add-Member -MemberType NoteProperty -Name $_ .Name -Value $_ .Value
     }
     $CustomObject
     $rs .MoveNext()
}
$results Out-GridView

转载于:https://www.cnblogs.com/keepSmile/p/5809646.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值