如何读取dbf文件?

问题描述

我正在尝试读取 dbf 文件

代码

$cmd = New-Object System.Data.OleDb.OleDbConnection
$cmd.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=E:\DATA\MailTvm\sample.dbf;Extended Properties=dBASE IV;User ID=Admin;"
$cmd.Open
$sqlCmd = $cmd.CreateCommand()
$query = "select name from sample"
$sqlCmd.CommandText = $query
$adp = New-Object System.Data.OleDb.OleDbDataAdapter($sqlCmd,$cmd)
$data = New-Object System.Data.DataSet
$adp.Fill($data) 
$data.Tables
$cmd.Close()

当我尝试运行此代码时,它显示以下错误

Exception calling "Open" with "0" argument(s): "Could not find installable ISAM." At E:\DATA\Script_old\dbfread.ps1:4 char:1
+ $Conn.open()
+ ~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [],MethodInvocationException
    + FullyQualifiedErrorId : OleDbException

Exception calling "Fill" with "1" argument(s): "Could not find installable ISAM." At E:\DATA\Script_old\dbfread.ps1:8 char:1
+ $da.Fill($dt) |Out-Null
+ ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [],MethodInvocationException
    + FullyQualifiedErrorId : OleDbException



RemotingFormat          : Xml SchemaSerializationMode : IncludeSchema CaseSensitive           : False defaultviewManager      : {System.Data.DataViewManagerListItemTypeDescriptor} EnforceConstraints : True DataSetName             : NewDataSet Namespace               : Prefix                  : ExtendedProperties      : {} HasErrors       : False IsInitialized           : True Locale                  : en-IN Site                    : Relations               : {} Tables          : {} Container               : DesignMode              : False ContainsListCollection  : True

MemberType          : Method OverloadDeFinitions : {void open(),void IDbConnection.open()} TypeNameOfValue     : System.Management.Automation.PSMethod Value               : void open(),void IDbConnection.open() Name                : Open isinstance          : True

Data : System.Data.DataSet Exception calling "Fill" with "1" argument(s): "Could not find installable ISAM." At E:\DATA\Script_old\dbfread.ps1:24 char:1
+ $adp.Fill($data)
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [],MethodInvocationException
    + FullyQualifiedErrorId : OleDbException

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)