我想通過powershell將csv數據插入到訪問數據庫。我使用下面的代碼來插入數據。它成功執行,但問題是它在數據庫中插入空行。林不知道我在哪裏犯錯。任何想法?PowerShell導入csv到數據庫
$datafile='my_file.xls'
$dbfile='C:\CSVtoAccess\TestDatabase.accdb'
$connectionString="Provider=Microsoft.Ace.OLEDB.12.0; Data Source=$dbfile"
$conn = New-Object System.Data.OleDb.OleDbConnection($connectionString)
$conn.Open()
$cmd = $Conn.CreateCommand()
Import-Csv $dataFile |
ForEach{
$cmd.CommandText = "INSERT INTO CSVDATA2(F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,F21,F22,F23,F24,F25,F26) VALUES ('$($_.col1)', '$($_.col2)', '$($_.col3)', '$($_.col4)', '$($_.col5)', '$($_.col6)', '$($_.col7)', '$($_.col8)', '$($_.col9)', '$($_.col10)', '$($_.col11)', '$($_.col12)', '$($_.col13)', '$($_.col14)', '$($_.col15)', '$($_.col16)', '$($_.col17)', '$($_.col18)', '$($_.col19)', '$($_.col20)', '$($_.col21)', '$($_.col22)', '$($_.col23)', '$($_.col24)', '$($_.col25)', '$($_.col26)')"
$cmd.ExecuteNonQuery()
}
$conn.Close()
任何想法,我犯了錯誤。
問候,
丹麥
嗨,謝謝你的回覆。現在,當我重寫格式化字符串的sql.Error時,出現以下錯誤:索引(基於零)必須大於或等於零並小於 參數列表的大小。 –
格式化字符串時出錯:索引基於零)必須大於或等於零並小於參數列表的大小。不知道我在哪裏犯錯 –
謝謝。我有我缺少的東西。但仍然沒有獲得價值。有一個空值到SQL。 $ _。col不起作用。我不知道爲什麼。 –