zoukankan      html  css  js  c++  java
  • 【转】PowerShell 连接SQL Server 数据库

    转至:http://www.pstips.net/connect-sql-database.html

    PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本。工作中整理的一小段脚本,后来没有用上,先记录在这里:

    1. 建立数据库连接
    2. 查询返回一个DataTatble对象
    3. 执行一条SQL语句
    4. 通过事物执行多条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()
        }
    }
  • 相关阅读:
    perl 判断网站内容是否变更
    鸿雁电器oa系统中决策支持模块效果
    爬虫1-15
    自动封杀脚本
    图表中如何实现动态变更分类轴与系列值
    错误代码: 1305 PROCEDURE world.insert_data does not exist
    错误代码: 1054 Unknown column 't.createUsrId' in 'group statement'
    错误代码: 1247 Reference 'startTime' not supported (forward reference in item list)
    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty
    echarts中地图提示"TypeError:i is undefined"
  • 原文地址:https://www.cnblogs.com/keepSmile/p/5818554.html
Copyright © 2011-2022 走看看