通过PowerShell操作SQLConnection .NET类
2010-06-09 16:26
253 查看
.NET类System.Data.SqlClient.SqlConnection用于建立到SQL Server数据库的连接。用过户可以用这个类通过PowerShell连接到SQL Server,查找数据以及执行存储过程。
下面的例子通过默认实例查询SQL Server版本号
#Let’s set the location to the script folder C:\Scripts Set-Location C:\Scripts $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master;IntegratedSecurity=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "Select @@version as SQLServerVersion" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
执行结果类似于下图所示:
前面的例子中使用了四个类:
System.Data.SqlClient.SqlConnection
System.Data.SqlClient.SqlCommand
System.Data.SqlClient.SqlDataAdapter
System.Data.DataSet
SqlConnection类用于创建针对SQL Server数据库的 连接,SQLCommand类用于对SQL Server数据库创建Transact-SQL语句或存储过程,SQLDataAdapter类用户创建一系列用于填充dataset类的数据命令和数据库连接。数据集代表内存缓存的数据。通常情况下,脚本首先通过WIN-SQL的默认实例创建连接,接下来创建命令对象并设置T-SQL语句"select @@version",随后创建数据适配器,用SqlCommand获得的结果填充数据集,最后显示数据集。
同样也能用PowerShell通过类似的.NET框架类System.Data.SqlClient.SqlConnection连接到SQL Server命名实例,如下:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master; Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "select @@version as SQLServerVersion" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
需要强调的是WIN-SQL是主机名。
T-SQL命令”select @@version as SQLServerVersion”的执行结果如下图所示:
用户也块可以用PowerShell通过同名的.NET框架类库System.Data.SqlClient.SqlConnection执行存储过程并通过SQL Server命名实例返回查询结果,代码如下:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master; Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "sp_who" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
能够看到执行存储过程sp_who的执行结果如下图所示:
因为很多时候用户需要知道已安装的SQL Server的版本,下面会创建名为Get-SQLVersion.ps1的脚本,能够用于返回任何SQL Server实例的版本号,以下是脚本的完整代码:
Param (
[string] $SQLSERVER
)
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLSERVER;Database=master;Integrated
Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "Select @@version as SQLServerVersion"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
用户可以通过传递SQL Server实例名的方式调用该脚本,如:
.\Get-SQLVersion.ps1 "WIN-SQL"
.\Get-SQLVersion.ps1 "WIN-SQL\SQL2008"
下图是”select @@verson”命令的返回结果:
本文通过SqlConnection这个.NET类连接SQL Server以及访问SQL Server数据库的方法,除此以外还有另外一种方式连接到数据库并获取数据那就是SQL SMO,后续的文章将会详细介绍。
作者: 付海军
出处:http://fuhj02.blog.51cto.com
版权:本文版权归作者和51cto共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.shell.tor.hu
下面的例子通过默认实例查询SQL Server版本号
#Let’s set the location to the script folder C:\Scripts Set-Location C:\Scripts $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master;IntegratedSecurity=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "Select @@version as SQLServerVersion" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
执行结果类似于下图所示:
前面的例子中使用了四个类:
System.Data.SqlClient.SqlConnection
System.Data.SqlClient.SqlCommand
System.Data.SqlClient.SqlDataAdapter
System.Data.DataSet
SqlConnection类用于创建针对SQL Server数据库的 连接,SQLCommand类用于对SQL Server数据库创建Transact-SQL语句或存储过程,SQLDataAdapter类用户创建一系列用于填充dataset类的数据命令和数据库连接。数据集代表内存缓存的数据。通常情况下,脚本首先通过WIN-SQL的默认实例创建连接,接下来创建命令对象并设置T-SQL语句"select @@version",随后创建数据适配器,用SqlCommand获得的结果填充数据集,最后显示数据集。
同样也能用PowerShell通过类似的.NET框架类System.Data.SqlClient.SqlConnection连接到SQL Server命名实例,如下:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master; Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "select @@version as SQLServerVersion" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
需要强调的是WIN-SQL是主机名。
T-SQL命令”select @@version as SQLServerVersion”的执行结果如下图所示:
用户也块可以用PowerShell通过同名的.NET框架类库System.Data.SqlClient.SqlConnection执行存储过程并通过SQL Server命名实例返回查询结果,代码如下:
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=WIN-SQL;Database=master; Integrated Security=True" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = "sp_who" $SqlCmd.Connection = $SqlConnection $SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $SqlAdapter.SelectCommand = $SqlCmd $DataSet = New-Object System.Data.DataSet $SqlAdapter.Fill($DataSet) $SqlConnection.Close() $DataSet.Tables[0]
能够看到执行存储过程sp_who的执行结果如下图所示:
因为很多时候用户需要知道已安装的SQL Server的版本,下面会创建名为Get-SQLVersion.ps1的脚本,能够用于返回任何SQL Server实例的版本号,以下是脚本的完整代码:
Param (
[string] $SQLSERVER
)
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLSERVER;Database=master;Integrated
Security=True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = "Select @@version as SQLServerVersion"
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
$DataSet.Tables[0]
用户可以通过传递SQL Server实例名的方式调用该脚本,如:
.\Get-SQLVersion.ps1 "WIN-SQL"
.\Get-SQLVersion.ps1 "WIN-SQL\SQL2008"
下图是”select @@verson”命令的返回结果:
本文通过SqlConnection这个.NET类连接SQL Server以及访问SQL Server数据库的方法,除此以外还有另外一种方式连接到数据库并获取数据那就是SQL SMO,后续的文章将会详细介绍。
作者: 付海军
出处:http://fuhj02.blog.51cto.com
版权:本文版权归作者和51cto共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.shell.tor.hu
相关文章推荐
- 通过PowerShell操作SQLConnection .NET类
- SQL Server Mobile 学习(二):通过 VS2005 创建和连接及操作 SQL Server Mobile 数据库
- SQL Server connect to MySQL SQL Server通过LinkServer访问MySQL数据库,并操作mysql数据库代码
- vb.net 通过ADO.net 连接 MySql 具体操作
- 表单中通过sql语句,一次操作,执行多个sql,返回多个值的方法
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
- .net SqlConnection Open方法 耗时很久才抛出异常
- Yii1.1中通过Sql查询进行的分页操作
- DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作
- 通过excel生成SQL语句完成数据库操作
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
- ADO.net 1 [connection 对象/连接SQL]
- ADO.net实现批量SQL操作.
- 通过sql语句对mysql数据库进行基本的操作
- 通过java.net.URLConnection发送HTTP请求的方法
- ADO.NET数据库操作------SqlDataReader和SqlDataAdapter 区别
- .NET + Excel + SQL 的导入导出相关操作
- 百度地图API 云存储·LBS.云 跨域问题解决方法——通过java.net.URLConnection发送HTTP请求
- ASP.net与SQLite数据库通过js和ashx交互(连接和操作)
- 【转载】返璞归真 asp.net mvc (11) - asp.net mvc 4.0 新特性之自宿主 Web API, 在 WebForm 中提供 Web API, 通过 Web API 上传文件, .net 4.5 带来的更方便的异步操作