Powershell - 将SQLite表导出到csv

时间:2017-06-30 23:35:11

标签: powershell csv sqlite

不确定这是否可行,但我很感激所提供的任何意见。 我希望能够将SQLite数据库(* .sqlite3)表导出到csv文件。

这是我的代码:

$DB_PATH = "C:\Users\McLuhan\Google Drive\Project\testing\mysite\mysite\db.sqlite3"

#Importing the SQLite assemblies
Add-Type -Path "C:\Program Files\System.Data.SQLite\2010\bin\System.Data.SQLite.dll"

#Connect to DB
$con = New-Object -TypeName System.Data.SQLite.SQLiteConnection
$con.ConnectionString = "Data Source=$DB_PATH"
$con.Open()

#Create query object
$sql = $con.CreateCommand()
$sql.CommandText = "SELECT * FROM identities_identity"
$adapter = New-Object -TypeName System.Data.SQLite.SQLiteDataAdapter $sql
$data = New-Object System.Data.DataSet
[void]$adapter.Fill($data)

#Show tables 
$data.Tables #| export data to csv file ????

我可以从表中获取数据,但它的baseType为“System.Data.InternalDataCollectionBase”。我希望能够将其转换为“System.Array”的baseType。我相信这会允许我导出到csv。

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

刚想出如何导出表格。通过将以下代码附加到原始脚本,它将正确导出到csv文件:

#Show tables 
$table = $data.Tables 

#Export using loop
foreach($t in $table){
    $t | Export-Csv c:\temp\test3.csv -NoTypeInformation -Append 
}

感谢。希望这可以帮助有类似问题的人:)