powershell 从PowerShell访问SQLite

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 从PowerShell访问SQLite相关的知识,希望对你有一定的参考价值。

[Reflection.Assembly]::LoadFile("C:\Program Files\PackageManagement\NuGet\Packages\System.Data.SQLite.Core.1.0.111.0\lib\net46\System.Data.SQLite.dll")
$sqlite = New-Object System.Data.SQLite.SQLiteConnection
$sqlite.ConnectionString = "Data Source = C:\Users\shskw\OneDrive\ドキュメント\test.db"
$sqlcmd = New-Object System.Data.SQLite.SQLiteCommand
$sqlcmd.Connection = $sqlite
$sqlite.Open()

# SQLiteのバージョン表示
$sql = "SELECT sqlite_version()"
$sqlcmd.CommandText = $sql
$rs =  $sqlcmd.ExecuteReader()
while ($rs.Read()){
  $rs[0]
}

# SQLiteCommandの破棄
# これをしないと、以下のSQL発行で以下の例外メッセージが表示され中断される
# "DataReader already active on this command"
$sqlcmd.Dispose()
$sql = "CREATE TABLE t1 (name, ostype)"
$sqlcmd.CommandText = $sql
$ret = $sqlcmd.ExecuteNonQuery()

# INSERT実行
$ins_data = @(@("Windows10","Windows"),@("Ubuntu","Linux"),@("FreeBSD","BSD"))
$ins_data | % {
  $name  =$_[0];
  $ostype=$_[1];
  $sql="INSERT INTO t1 VALUES('${name}','${ostype}')"
  $sqlcmd.CommandText = $sql
  $ret = $sqlcmd.ExecuteNonQuery()
}

# SELECT実行および表示
$sql = "SELECT * FROM t1"
$sqlcmd.CommandText = $sql
$rs =  $sqlcmd.ExecuteReader()
while ($rs.Read()){
  Write-Host ("|{0,-12}|{1,-12}|" -f $rs[0], $rs[1])
}

# SQLiteの切断
$sqlcmd.Dispose()
$sqlite.Close()

以上是关于powershell 从PowerShell访问SQLite的主要内容,如果未能解决你的问题,请参考以下文章

从 PowerShell 使用 System.IO 访问 MTP 存储

从 Powershell 获取 Azure Active Directory 访问令牌

TFS 构建和 Powershell:如何访问预定义的构建变量

Powershell - 运行位于远程机器上的脚本,该脚本反过来从网络共享访问文件

使用 Powershell 从文件中删除最后一行

powershell 将用户从每用户MFA转换为基于条件访问的MFA