2014-09-24 72 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