我有一個讀取dBase文件並將內容上傳到SQL Server的工具,這是導入shapefile的系統的一部分。它可以工作,但現在我們需要導入包含非英文字符的文件(在這種情況下是挪威語,以後可能是其他語言)並且它們已被損壞。使用非英文字符讀取dBase DBF的問題
正在使用OleDbDataAdapter讀取dBase文件。瀏覽代碼我可以看到文本在讀入時是錯誤的。我假設這是與代碼頁或Unicode有關的,但我不知道如何解決它。
dBase Reader應用程序告訴我DBF在代碼頁1252中 - 我不知道這是否正確。我的上傳工具使用英文(英國)區域設置在Win7上運行。
例子:
阿斯加德在DBF成爲+在VB.Net & SQL服務器SGARD。
DBF中的RINGHORNEØST變成RINGHORNE在VB.Net中的SQL Server。
,讀取DBF代碼:
dbfConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";Extended Properties=dBASE IV"
Cnn.ConnectionString = dbfConnectionString
Cnn.Open()
strSQL = "SELECT * FROM [" & strDBF & "]"
DA = New OleDb.OleDbDataAdapter(strSQL, Cnn)
DS = New DataSet
DA.Fill(DS)
If DS.Tables(0).Rows.Count > 0 Then
dtDBF = DS.Tables(0)
Else
dtDBF = Nothing
End If
數據被讀取,如:名稱= dtDBF.Rows(指數)( 「NAME_1」)
有沒有辦法告訴OleDbDataAdapter的是什麼代碼頁從VB.Net使用或更好的方式來讀取dBase文件?
如果我導入或鏈接dBase表,MS Access與.net/SQL Server的功能相同。 – Irongut 2011-03-18 16:12:58