PowerShellからsqliteを使用する
sqliteの.NET用ライブラリをダウンロードしてくる。
http://www.sqlite.org/download.html
- Precompiled Binaries for 32-bit Windows (.NET Framework 4.0)
- sqlite-netFx40-binary-Win32-2010-1.0.74.0.zip
PowerShellが使用する.NET Frameworkのバージョンを4に変更する。PowerShellを管理者モードで起動して、以下のコマンドを実行する。
@' <?xml version ="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true" > <supportedRuntime version="v4.0.30319" /> </startup> <runtime> <loadFromRemoteSources enabled="true"/> </runtime> </configuration> '@ | Out-File "${PSHOME}\powershell.exe.config" -Encoding ASCII
バージョン確認
$assemblies = [AppDomain]::CurrentDomain.GetAssemblies() $assemblies | ?{$_.GetName().Name -like "System"} GAC Version Location --- ------- -------- True v4.0.30319 C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll
sqliteライブラリの動作確認
[void][System.Reflection.Assembly]::LoadFile("C:\Tools\sqlite\System.Data.SQLite.dll") $sqlite = New-Object System.Data.SQLite.SQLiteConnection $sqlite.ConnectionString = "Data Source = C:\Tools\sqlite\data.db" $sqlite.Open() $cmd = @" CREATE TABLE hoge ( id INTEGER, name VARCHAR(20) ) "@ $sqlcmd = New-Object System.Data.SQLite.SQLiteCommand $sqlcmd.Connection = $sqlite $sqlcmd.CommandText = $cmd $sqlcmd.ExecuteNonQuery() $sqlite.Close()