PowerShell/.NET Framework版SQLiteを操作する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* PowerShellで.NET Framework版のSQLiteを操作する方法 [#y1...
SQLiteには、.NET Framework 版があります。~
これを、PowerShellから操作する方法を以下に記します。
#htmlinsertpcsp(db-top.html,db-sp.html)
* 参考資料 [#zb091463]
-[[PowerShell から .NetFramework 版 SQLite を使う>http://...
* .NET Framework 版 SQLiteの入手 [#of650c82]
.NET Framework版のSQLiteは以下のURLからダウンロードするこ...
- SQLite System.Data.SQLiteのページ~
http://system.data.sqlite.org/
-
下の方にスクロールすると、32bit, 64bit, 各.NET Framework...
http://system.data.sqlite.org/index.html/doc/trunk/www/do...
本資料では、Windows 10 64bit を使用し、.NET Framework版の...
Windows10に標準搭載されている、.NET Framework 4.6対応版を...
本資料では、以下の画像内で&color(red){赤};で囲んだファイ...
''sqlite-netFx46-static-binary-x64-2015-1.0.108.0.zip''
#ref(01.png)
* ダウンロードしたzipファイルから必要なファイルを取り出す...
今回は、テスト的に動作させるため、すべてデスクトップで作...
+ デスクトップに ''SQLite'' フォルダを作成してください。
+ ダウンロードしたZIPファイルを展開します。
+ ダウンロードしたZIPファイルから、以下に記す3つのファイ...
--SQLite.Interop.dll
--System.Data.SQLite.dll
--System.Data.SQLite.xml
--コピー(取り出す)ファイルのスクリーンショット(選択されて...
#ref(02.png)
#br
--コピー後のスクリーンショットです。~
デスクトップ上にSQLiteフォルダがあり、フォルダ内には上記...
#ref(03.png)
#br
+ダウンロードしたファイルなので、ブロックの解除操作が必要...
以下の手順で3つのファイルをブロック解除します。
++3つのファイルを1つずつ選択し、右クリックでコンテキスト...
この操作を3ファイルに対して行います。(3回行うことになりま...
下図は、SQLite.Interop.dllの設定を変更した例です。(他の2...
#ref(04.png)
#br
++セキュリティ:このファイルは他のコンピュータから取得し...
「許可する」チェックボックスにチェック入れ、OKボタンを押...
#ref(05.png)
#br
* .NET Framework版のSQLiteを操作するサンプルスクリプト [#...
以下のスクリプトをCut&PasteでPowerShellに貼り付ければ動作...
# System.Data.sqlite.dllのロード
$asm = [System.Reflection.Assembly]::LoadFile("${HOME}\D...
# SQLiteへの接続およびSQLステートメント発行用のSystem.Da...
$sqlite = New-Object System.Data.SQLite.SQLiteConnection
$sqlite.ConnectionString = "Data Source = ${HOME}\Deskto...
$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...
$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()
上記のスクリプトを実際に実行したときの出力です。(Cut&Past...
PS C:\> # System.Data.sqlite.dllのロード
PS C:\> $asm = [System.Reflection.Assembly]::LoadFile("$...
PS C:\>
PS C:\> # SQLiteへの接続およびSQLステートメント発行用のS...
PS C:\> $sqlite = New-Object System.Data.SQLite.SQLiteCo...
PS C:\> $sqlite.ConnectionString = "Data Source = ${HOME...
PS C:\> $sqlcmd = New-Object System.Data.SQLite.SQLiteCo...
PS C:\> $sqlcmd.Connection = $sqlite
PS C:\> $sqlite.Open()
PS C:\>
PS C:\> # SQLiteのバージョン表示
PS C:\> $sql = "SELECT sqlite_version()"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $rs = $sqlcmd.ExecuteReader()
PS C:\> while ($rs.Read()){
>> $rs[0]
>> }
SQLiteのバージョンが表示されました。
3.22.0
PS C:\>
PS C:\> # SQLiteCommandの破棄
PS C:\> # これをしないと、以下のSQL発行で以下の例外メッ...
PS C:\> # "DataReader already active on this command"
PS C:\> $sqlcmd.Dispose()
PS C:\> $sql = "CREATE TABLE t1 (name, ostype)"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $ret = $sqlcmd.ExecuteNonQuery()
PS C:\>
INSERTを実行します。
PS C:\> # INSERT実行
PS C:\> $ins_data = @(@("Windows10","Windows"),@("Ubuntu...
PS C:\> $ins_data | % {
>> $name =$_[0];
>> $ostype=$_[1];
>> $sql="INSERT INTO t1 VALUES('${name}','${ostype}')"
>> $sqlcmd.CommandText = $sql
>> $ret = $sqlcmd.ExecuteNonQuery()
>> }
PS C:\>
PS C:\> # SELECT実行および表示
PS C:\> $sql = "SELECT * FROM t1"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $rs = $sqlcmd.ExecuteReader()
PS C:\> while ($rs.Read()){
>> Write-Host ("|{0,-12}|{1,-12}|" -f $rs[0], $rs[1])
>> }
|Windows10 |Windows |
|Ubuntu |Linux |
|FreeBSD |BSD |
SELECT結果が表示されました。
PS C:\>
PS C:\> # SQLiteの切断
PS C:\> $sqlcmd.Dispose()
PS C:\> $sqlite.Close()
PS C:\>
SQLiteのデータベースファイルが作成されいます。
#ref(06.png)
* ドキュメント [#k4336008]
上記で使ったメソッド以外にもたくさんのメソッドが提供され...
[[SQLite System.Data.SQLiteのページ>http://system.data.sq...
下の方にスクロールすると「Documentation for System.Data.S...
そこの、[[downloaded directly>http://system.data.sqlite.o...
#ref(07.png)
#br
ダウンロードしたファイルをダブルクリックすることにより、...
ただし、ダウンロードしたファイルなので、セキュリティのた...
SQLite System.Data.SQLiteファイルと同様に、ブロックを外し...
ダウンロードしたファイルを右クリックしコンテキストメニュ...
「許可する」にチェックを入れ、OKボタンを押下します。
#ref(08.png)
#br
上記の操作後、ダウンロードしたSQLite.NET.chmをダブルクリ...
以下のキャプチャーのようにドキュメントが表示されます。
#ref(09.png)
以上、.NET Framework用のSQLiteをPowerShellで使用するサン...
#htmlinsertpcsp(db-btm.html,db-sp.html)
終了行:
#navi(../)
* PowerShellで.NET Framework版のSQLiteを操作する方法 [#y1...
SQLiteには、.NET Framework 版があります。~
これを、PowerShellから操作する方法を以下に記します。
#htmlinsertpcsp(db-top.html,db-sp.html)
* 参考資料 [#zb091463]
-[[PowerShell から .NetFramework 版 SQLite を使う>http://...
* .NET Framework 版 SQLiteの入手 [#of650c82]
.NET Framework版のSQLiteは以下のURLからダウンロードするこ...
- SQLite System.Data.SQLiteのページ~
http://system.data.sqlite.org/
-
下の方にスクロールすると、32bit, 64bit, 各.NET Framework...
http://system.data.sqlite.org/index.html/doc/trunk/www/do...
本資料では、Windows 10 64bit を使用し、.NET Framework版の...
Windows10に標準搭載されている、.NET Framework 4.6対応版を...
本資料では、以下の画像内で&color(red){赤};で囲んだファイ...
''sqlite-netFx46-static-binary-x64-2015-1.0.108.0.zip''
#ref(01.png)
* ダウンロードしたzipファイルから必要なファイルを取り出す...
今回は、テスト的に動作させるため、すべてデスクトップで作...
+ デスクトップに ''SQLite'' フォルダを作成してください。
+ ダウンロードしたZIPファイルを展開します。
+ ダウンロードしたZIPファイルから、以下に記す3つのファイ...
--SQLite.Interop.dll
--System.Data.SQLite.dll
--System.Data.SQLite.xml
--コピー(取り出す)ファイルのスクリーンショット(選択されて...
#ref(02.png)
#br
--コピー後のスクリーンショットです。~
デスクトップ上にSQLiteフォルダがあり、フォルダ内には上記...
#ref(03.png)
#br
+ダウンロードしたファイルなので、ブロックの解除操作が必要...
以下の手順で3つのファイルをブロック解除します。
++3つのファイルを1つずつ選択し、右クリックでコンテキスト...
この操作を3ファイルに対して行います。(3回行うことになりま...
下図は、SQLite.Interop.dllの設定を変更した例です。(他の2...
#ref(04.png)
#br
++セキュリティ:このファイルは他のコンピュータから取得し...
「許可する」チェックボックスにチェック入れ、OKボタンを押...
#ref(05.png)
#br
* .NET Framework版のSQLiteを操作するサンプルスクリプト [#...
以下のスクリプトをCut&PasteでPowerShellに貼り付ければ動作...
# System.Data.sqlite.dllのロード
$asm = [System.Reflection.Assembly]::LoadFile("${HOME}\D...
# SQLiteへの接続およびSQLステートメント発行用のSystem.Da...
$sqlite = New-Object System.Data.SQLite.SQLiteConnection
$sqlite.ConnectionString = "Data Source = ${HOME}\Deskto...
$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...
$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()
上記のスクリプトを実際に実行したときの出力です。(Cut&Past...
PS C:\> # System.Data.sqlite.dllのロード
PS C:\> $asm = [System.Reflection.Assembly]::LoadFile("$...
PS C:\>
PS C:\> # SQLiteへの接続およびSQLステートメント発行用のS...
PS C:\> $sqlite = New-Object System.Data.SQLite.SQLiteCo...
PS C:\> $sqlite.ConnectionString = "Data Source = ${HOME...
PS C:\> $sqlcmd = New-Object System.Data.SQLite.SQLiteCo...
PS C:\> $sqlcmd.Connection = $sqlite
PS C:\> $sqlite.Open()
PS C:\>
PS C:\> # SQLiteのバージョン表示
PS C:\> $sql = "SELECT sqlite_version()"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $rs = $sqlcmd.ExecuteReader()
PS C:\> while ($rs.Read()){
>> $rs[0]
>> }
SQLiteのバージョンが表示されました。
3.22.0
PS C:\>
PS C:\> # SQLiteCommandの破棄
PS C:\> # これをしないと、以下のSQL発行で以下の例外メッ...
PS C:\> # "DataReader already active on this command"
PS C:\> $sqlcmd.Dispose()
PS C:\> $sql = "CREATE TABLE t1 (name, ostype)"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $ret = $sqlcmd.ExecuteNonQuery()
PS C:\>
INSERTを実行します。
PS C:\> # INSERT実行
PS C:\> $ins_data = @(@("Windows10","Windows"),@("Ubuntu...
PS C:\> $ins_data | % {
>> $name =$_[0];
>> $ostype=$_[1];
>> $sql="INSERT INTO t1 VALUES('${name}','${ostype}')"
>> $sqlcmd.CommandText = $sql
>> $ret = $sqlcmd.ExecuteNonQuery()
>> }
PS C:\>
PS C:\> # SELECT実行および表示
PS C:\> $sql = "SELECT * FROM t1"
PS C:\> $sqlcmd.CommandText = $sql
PS C:\> $rs = $sqlcmd.ExecuteReader()
PS C:\> while ($rs.Read()){
>> Write-Host ("|{0,-12}|{1,-12}|" -f $rs[0], $rs[1])
>> }
|Windows10 |Windows |
|Ubuntu |Linux |
|FreeBSD |BSD |
SELECT結果が表示されました。
PS C:\>
PS C:\> # SQLiteの切断
PS C:\> $sqlcmd.Dispose()
PS C:\> $sqlite.Close()
PS C:\>
SQLiteのデータベースファイルが作成されいます。
#ref(06.png)
* ドキュメント [#k4336008]
上記で使ったメソッド以外にもたくさんのメソッドが提供され...
[[SQLite System.Data.SQLiteのページ>http://system.data.sq...
下の方にスクロールすると「Documentation for System.Data.S...
そこの、[[downloaded directly>http://system.data.sqlite.o...
#ref(07.png)
#br
ダウンロードしたファイルをダブルクリックすることにより、...
ただし、ダウンロードしたファイルなので、セキュリティのた...
SQLite System.Data.SQLiteファイルと同様に、ブロックを外し...
ダウンロードしたファイルを右クリックしコンテキストメニュ...
「許可する」にチェックを入れ、OKボタンを押下します。
#ref(08.png)
#br
上記の操作後、ダウンロードしたSQLite.NET.chmをダブルクリ...
以下のキャプチャーのようにドキュメントが表示されます。
#ref(09.png)
以上、.NET Framework用のSQLiteをPowerShellで使用するサン...
#htmlinsertpcsp(db-btm.html,db-sp.html)
ページ名: