2015-09-25 51 views
0

我目前正在研究一個VB應用程序,每天從網絡文件夾讀取一個新的Excel表並將數據複製到數據庫。試圖首先使用我的dataAdapter的fill()方法時,我遇到了一個錯誤。錯誤是「System.Data.OleDb.OleDbException(0x80040E09):無法更新,數據庫或對象是隻讀的。」 這裏是一個代碼段發生錯誤(最後一行):VB.Net System.Data.OleDb.OleDbException只讀DB對象

 Dim dt2 As DataTable 
     Dim myAdapter2 As Data.OleDb.OleDbDataAdapter 
     dt2 = New DataTable() 
     myAdapter2 = New Data.OleDb.OleDbDataAdapter(xls_sql, My.Settings.xlsfile) 
     myAdapter2.Fill(dt2) 

我的查詢是基本的:

xls_sql = "SELECT * FROM [" & FN & "]" 

,這裏是我的連接字符串設置:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\;Extended Properties='text;HDR=Yes;FMT = Delimited' 

同事建議我將屬性更改爲

="Excel 8.0;HDR=Yes;IMEX=1"; 
+0

_ 「'一個同事建議...使用IMEX = 1」 _你試過嗎?如果是,它的工作是毫無疑問的,如果沒有,請提及它。如果你還沒有嘗試過,試試吧。 –

+0

哦ddang對不起,沒有足夠的類型。我曾嘗試過,它給出了相同的錯誤 –

+0

您的文件在網絡上。並且它所在的目錄可能沒有來自運行代碼的用戶帳戶的完全訪問權限。或文件本身是隻讀的 –

回答