操作步驟:
成都創新互聯是一家集網站建設,北鎮企業網站建設,北鎮品牌網站建設,網站定制,北鎮網站建設報價,網絡營銷,網絡優化,北鎮網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
1. 下載Foxpro的OLEDB驅動VFPOLEDBSetup.msi,安裝,選擇允許everyone運行。
2. 注冊OLEDB驅動:
regsvr32 /s "C:\Program Files (x86)\Common Files\system\ole db\vfpoledb.dll"
3. 運行x86版PowerShell:
$ConnString = "Provider=vfpoledb.1;Data Source=c:\accounts.dbf;Collating Sequence=machine;" $Conn = new-object System.Data.OleDb.OleDbConnection($connString) $conn.open() $cmd = new-object System.Data.OleDb.OleDbCommand("select * from accounts", $Conn) $DataAdapter = new-object System.Data.OleDb.OleDbDataAdapter($cmd) $dataset = new-object System.Data.Dataset $DataAdapter.fill($dataset) $dataset.Tables[0]
坑列表:
從Foxpro驅動描述:
“The VFPODBC driver is no longer supported. We strongly recommend using the Visual FoxPro OLE DB provider as a replacement.”
ODBC驅動分為32位和64位。只有編譯為32位的應用程序才能調用32位的ODBC驅動。
"A 32-bit app uses a 32-bit ODBC driver even when installed on 64-bit Windows. But on 64-bit systems, there are two views on ODBC - one is 64-bit, the other is 32-bit. It looks like you opened the default 64-bit view which doesn't show the 32-bit ODBC drivers. To solve this go to c:\windows, there you see a folder named SysWOW64. Here you find odbcad32.exe. After launching the exe you can add a new system dsn or user dsn for the required ODBC driver. Configure it as usual. All other ODBC drivers you have been missing will appear there."
安裝了Visual Foxpro后,會安裝32位ODBC驅動VFPODBC.DLL。
安裝OLEDB驅動時要選擇允許everyone運行。
要注冊vfpoledb.dll。
OLEDB驅動的Provider為vfpoledb.1。
要在32位PowerShell下運行來調用該驅動。
后記:
嘗試在32位PowerShell下操作ODBC驅動,失敗。
$ConnString ="Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB='c:\foxpro\';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()
但在32位操作系統上運行是正常。若其他語言在開發時應編譯為32位版本。
文章標題:在64位系統上使用PowerShell操作Foxpro
當前URL:http://m.kartarina.com/article14/pgogge.html
成都網站建設公司_創新互聯,為您提供靜態網站、外貿建站、網站內鏈、定制網站、網站建設、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯