Get-Dbf through Powershell 使用Powershell读取DBF数据

将以下脚本存储为Get-Dbf.ps1,使用Powershell调用该脚本该脚本,传入两个参数即可

##################################################################################
#
#
#  Script name: Get-Dbf.ps1
#
#  Author:          yumenma
#  Homepage:        http://hi.csdn.net/yumenma
#  Company:        www.autonavi.com
#
##################################################################################

############################################################################

#

#参数讲解

#传入的两个参数:

#$Query:SQL查询语句,例如:"select * from table"

#$FilesAddress:DBF数据存在的文件地址,例如:"C:/myvfpdbfolder"

#

#############################################################################

param([string]$Query,[string]$FilesAddress)

# Default Connection String
$ConnString =
"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=$FilesAddress;Exclusive=No;

Collate=Machine;NULL=NO;DELETED=NO;BACKGROUNDFETCH=NO;"

$Connection = New-Object System.Data.Odbc.OdbcConnection

$Connection.ConnectionString = $ConnString
$Connection.Open()

$Command = New-Object System.Data.Odbc.OdbcCommand
$Command.Connection = $Connection
$Command.CommandText = $Query

$Reader = $Command.ExecuteReader()
$Counter = $Reader.FieldCount
while ($Reader.Read()) {
    $SQLObject = @{}
    for ($i = 0; $i -lt $Counter; $i++) {
        $SQLObject.Add(
            $Reader.GetName($i),
            $Reader.GetValue($i));
    }
    $SQLObject
}

$Connection.Close()
$Reader.Close()
########################################################################

 

例子:

ps>./Get-Dbf.ps1 "select * from table" "c:/myvfpdbfloder"

 

便会在Powershell界面中显示table的信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值