iT邦幫忙

0

壓縮工具的使用問題

  • 分享至 

  • xImage

請教大家
是否有工具可以壓縮DBF的檔案呢?
感謝

請版大先說明一下你的 dbf 檔案,
是 oracle 的資料檔案,還是以前 dbase、clipper、foxpro 的資料檔案?

因為你這樣問,很容易讓人混淆...疑惑
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

12
player
iT邦大師 1 級 ‧ 2013-09-03 18:08:45
最佳解答

DBF壓縮
記得在 dBase 裡有內建指令吧? 應該是 pack

ektrontek iT邦研究生 1 級 ‧ 2013-09-03 20:42:39 檢舉

dbase是指資料庫的軟體嗎
感謝

CalvinKuo iT邦大師 7 級 ‧ 2013-09-04 09:49:37 檢舉

版大也沒說是DBF哪裡用的...
http://bbs.csdn.net/topics/20183745
是有下面這種軟體,但我沒用過...
http://download.cnet.com/FoxPro-DBF-Packer/3000-10254_4-10497114.html

8
卡斯
iT邦研究生 1 級 ‧ 2013-09-03 23:38:25

是這個鬼東西嗎?汗

mports System.Data.OleDb
Imports Lion.IO.SharpZIP.Zip
Imports Lion.IO.SharpZIP.Checksums
Imports System.IO
Module Module1
Sub Main()
'Try
Dim cn1 As New OleDbConnection( _
"Provider=VFPOLEDB.1;Data Source=C:\Temp\;")
cn1.Open()
'-- Make some VFP data to play with
Dim cmd1 As New OleDbCommand( _
"Create Table TestDBF (Field1 I, Field2 C(10))", cn1)
Dim cmd2 As New OleDbCommand( _
"Insert Into TestDBF Values (1, '行贿)", cn1)
Dim cmd3 As New OleDbCommand( _
"Insert Into TestDBF Values (2, '受贿')", cn1)
cmd1.ExecuteNonQuery()
cmd2.ExecuteNonQuery()
cmd3.ExecuteNonQuery()
cn1.Close()
Dim cn2 As New OleDbConnection( _
"Provider=VFPOLEDB.1;Data Source=C:\Temp\;")
cn2.Open()
Dim cmd4 As New OleDbCommand( _
"Select * From TestDBF", cn2)
Dim da1 As New OleDbDataAdapter(cmd4)
Dim ds1 As New DataSet
Dim dr1 As DataRow
da1.Fill(ds1)
For Each dr1 In ds1.Tables(0).Rows
Console.WriteLine(dr1.Item(1).ToString())
Next
cn2.Close()
Dim crc As New Crc32
Dim s As New ZipOutputStream(System.IO.File.Create("c:\temp\dbf.zip"))
s.SetLevel(6)
Dim fs As FileStream = File.OpenRead("c:\temp\testdbf.dbf")
Dim b(fs.Length - 1) As Byte'c#中的语句为byte[] b = byte[fs.Length ];要注意这点
fs.Read(b, 0, b.Length)
Dim entry As ZipEntry = New ZipEntry("c:\temp\testdbf.dbf")
entry.DateTime = DateTime.Now
entry.Size = fs.Length
fs.Close()
crc.Reset()
crc.Update(b)
entry.Crc = crc.Value
s.PutNextEntry(entry)
s.Write(b, 0, b.Length)
s.Finish()
s.Close()
Console.ReadLine()
'Catch e As Exception
'MsgBox(e.ToString())
'End Try
End Sub
End Module

我要發表回答

立即登入回答