2014-09-24 73 views
0

我使用oledb從.txt文件獲取數據,並且遇到錯誤。OleDB'未指定的錯誤'VB

Dim oleDB = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\CompName\C$\Path;ExtendedProperties="Text;HDR=Yes;FMT=Fixed"" 

其中COMPNAME和路徑是實數值

我得到了適配器未指定的錯誤填寫

Using connection As New OleDbConnection(oleDb) 
     Using command As New OleDbCommand(sql, connection) 
      Using adapter As New OleDbDataAdapter(command) 
       adapter.Fill(s) 
      End Using 
     End Using 
    End Using 
    Return s 
End Function 

沒有人嘗試過使用OLEDB從不同的計算機越過歌廳內網的數據?

+1

您設置爲固定格式,你有SCHEMA.INI描述文本文件的結構(也叫做架構)? http://www.connectionstrings.com/microsoft-jet-ole-db-4-0/fixed-length-columns/ – Steve 2014-09-24 09:26:52

+0

是的,我有 - 但我會檢查默認分隔符,以確保 – 2014-09-24 10:00:13

+1

也檢查'正常「的共享名而沒有隱藏的共享C $,這可能是一個權限問題。 – Steve 2014-09-24 10:02:27

回答

1

要將OleDb文本驅動程序與固定長度列格式的文本文件一起使用,需要在文本文件所在的同一文件夾中有SCHEMA.INI文件。
SCHEMA.INI允許爲文本文件定義各種屬性,如格式,字段名稱,寬度和類型,字符集和一些轉換規則。

從MSDN

當使用文本驅動程序,文本文件的格式 使用架構信息文件確定。 架構信息 文件始終命名爲Schema.ini,並始終保留在與文本數據源相同的目錄 中。模式信息文件爲IISAM提供有關文件的一般格式, 列名稱和數據類型信息以及其他幾個數據特性的信息 。對於訪問 固定長度數據,始終需要Schema.ini文件。當您的文本表 包含日期時間,貨幣或十進制數據時,或者您希望更多地控制表中數據的處理時,您應該使用Schema.ini文件。

更多關於SCHEMA.INI文件的詳細信息可以發現on this MSDN page

+0

是的,我只是忘記了我沒有模式移動文件:)現在一切工作人員都喜歡魅力謝謝! – 2014-09-24 10:31:42