Rumah pangkalan data tutorial mysql ruby调用Office Jet引擎压缩access数据库

ruby调用Office Jet引擎压缩access数据库

Jun 07, 2016 pm 03:50 PM
jet office ruby pemampatan enjin panggilan

由于单位业务需要,搭建一台服务器专门用来做数据存储。因为数据流很小,遂采用access库作为DB。开始还好,但是后来发现access数据库有一问题,就是表空间会随着使用越来越大,哪怕表里没有数据。因为表中单次存放的内容是很小的,每隔几分钟会全删除然后再

    由于单位业务需要,搭建一台服务器专门用来做数据存储。因为数据流很小,遂采用access库作为DB。开始还好,但是后来发现access数据库有一问题,就是表空间会随着使用越来越大,哪怕表里没有数据。因为表中单次存放的内容是很小的,每隔几分钟会全删除然后再写入,所以表也会越来越大啊!

    开始是用VB写的一个压缩软件,因为是M$自家的语言嘛,自然对Office系列支持很好,后来发现ruby中也可以通过Win32ole访问Jet引擎,为何不用ruby来写呢?因为是以前写的代码神马都用class来搞,稍显夸大,但效果还好。

#hb table write by hopy 2012 
require 'win32ole'
require 'oci8'

class Hb
  def initialize
    @oci = OCI8.new("xxx","***","xxx")
  end
  
  def open
    unless @acs
      conn_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=#{Dir.pwd}/hb.mdb"
      #conn_str = "driver={SQL Server};database=xxx;server=localhost,1433;uid=sa;pwd=sa"
      @acs = WIN32OLE.new('ADODB.Connection')
      @acs.Open(conn_str)
    end
  end
  
  def close
    (@acs.Close;@acs=nil) if @acs
  end
  
  def cls
    self.open
    sql = "DELETE * from InTable";@acs.Execute(sql)
    sql = "DELETE * from OutTable";@acs.Execute(sql)
  end
  
  def zip
    start = Time.now
    self.close
    jet = WIN32OLE.new('JRO.JetEngine')
    path = Dir.pwd+"/hb.mdb"
    new_path=Dir.pwd+"/hb_ziped.mdb"
    File.delete(new_path) if File.exist?(new_path)
    sp = "Provider=Microsoft.Jet.OLEDB.4.0"
    ss = sp+";Data Source="+path
    sd = sp+";Data Source="+new_path
    jet.CompactDatabase(ss,sd)
    File.delete(path)
    File.rename(new_path,path)
    puts "access ziped , take #{Time.now - start} s"
  end
  
  def sync
    self.cls
    self.open
    
    zb = [64981,57520]
    
    i = 0;start = Time.now
    ret = @oci.exec('select * from DBO.DPXS_ARRIVAL') do |r|
      next if r[7].unpack("v*") != zb
      
      zt = if r[24] == "Arrived" 
        r[23]
      elsif r[25]
        r[25]
      else
        r[23]
      end
      
      tm = if r[12]
        r[12]
      elsif r[11]
        r[11]
      else
        r[10]
      end
      
      @acs.Execute("INSERT INTO InTable VALUES('#{r[0]}','#{tm}','#{r[13]}','#{zt}')");i+=1
    end
    <span style="white-space:pre">	</span>puts "sync #{i} arrival flights , take #{Time.now - start} s"
    
    i = 0;start = Time.now
    ret = @oci.exec('select * from DBO.DPXS_DEPARTURE') do |r|
      next if r[7].unpack("v*") != zb
      
      tm = if r[13]
        r[13]
      elsif r[12]
        r[12]
      else
        r[11]
      end
      
      @acs.Execute("INSERT INTO OutTable VALUES('#{r[0]}','#{tm}','#{r[14]}','#{r[27]}')");i+=1
    end
    puts "sync #{i} departure flights , take #{Time.now - start} s"
  end
end

INTERVAL_sec = 10
hb = Hb.new
t = 0
loop do 
  sleep(INTERVAL_sec);t+=INTERVAL_sec
  hb.sync
  (hb.zip;t=0) if t >= 60
  #t=0 if t >= 60
end
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1676
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Bagaimana untuk melihat dokumen perkataan dalam vscode Bagaimana untuk melihat dokumen perkataan dalam vscode Bagaimana untuk melihat dokumen perkataan dalam vscode Bagaimana untuk melihat dokumen perkataan dalam vscode May 09, 2024 am 09:37 AM

Mula-mula, buka perisian vscode pada komputer, klik ikon [Sambungan] di sebelah kiri, seperti yang ditunjukkan dalam ① dalam rajah Kemudian, masukkan [pemeriksa pejabat] dalam kotak carian antara muka sambungan, seperti yang ditunjukkan dalam ② dalam rajah . Kemudian, daripada carian Pilih [officeviewer] untuk memasang dalam hasil, seperti yang ditunjukkan dalam ③ dalam rajah Akhir sekali, buka fail, seperti docx, pdf, dsb., seperti yang ditunjukkan di bawah

Apa yang perlu dilakukan jika fail xlsx tidak boleh dibuka pada telefon bimbit Apa yang perlu dilakukan jika fail xlsx tidak boleh dibuka pada telefon bimbit Apr 25, 2024 am 08:28 AM

Mengapa dokumen WPS dan Excel tidak boleh dibuka pada telefon bimbit Apple Ia menunjukkan bahawa fail tidak boleh dipratonton 1. Sebab mengapa dokumen WPS dan Excel tidak boleh dipratonton pada telefon bimbit Apple adalah kerana tiada aplikasi yang menyokong fail ini. format yang dipasang pada telefon mudah alih Penyelesaiannya ialah memasang aplikasi yang menyokong format dokumen Aplikasi untuk menukar dokumen kepada format PDF dan menghantar dokumen ke komputer atau peranti lain untuk dibuka. 2. Semak dahulu apakah imbuhan fail tersebut Jika ia adalah fail excel tetapi tidak boleh dibuka, bermakna jenis fail tersebut tidak didaftarkan dalam pilihan folder komputer. 3. Mula-mula, buka pelayar QQ pada telefon mudah alih anda, klik butang di tengah-tengah di bawah; Ringkasan Buka penyemakan imbas QQ

Xiaomi Mi Pad 6 siri melancarkan Pejabat WPS peringkat PC dalam kuantiti penuh Xiaomi Mi Pad 6 siri melancarkan Pejabat WPS peringkat PC dalam kuantiti penuh Apr 25, 2024 pm 09:10 PM

Menurut berita dari laman web ini pada 25 April, Xiaomi secara rasmi mengumumkan hari ini bahawa Xiaomi Mi Pad 6, Mi Pad 6 Pro, Mi Pad 6 Max 14, dan Mi Pad 6 S Pro kini menyokong sepenuhnya WPSOffice peringkat PC. Antaranya, Xiaomi Mi Pad 6 Pro dan Xiaomi Mi Pad 6 perlu menaik taraf versi sistem kepada V816.0.4.0 dan ke atas sebelum mereka boleh memuat turun WPSOfficePC daripada Xiaomi App Store. WPSOfficePC mengguna pakai operasi dan susun atur yang sama seperti komputer, dan dipasangkan dengan aksesori papan kekunci tablet, ia boleh meningkatkan kecekapan pejabat. Mengikut pengalaman penilaian tapak ini sebelum ini, WPSOfficePC jauh lebih cekap apabila mengedit dokumen, borang, pembentangan dan fail lain. Selain itu, pelbagai fungsi yang menyusahkan untuk digunakan pada terminal mudah alih, seperti susun atur teks, sisipan gambar,

WPS dan Office tidak mempunyai fon Cina, dan nama fon Cina dipaparkan dalam bahasa Inggeris. WPS dan Office tidak mempunyai fon Cina, dan nama fon Cina dipaparkan dalam bahasa Inggeris. Jun 19, 2024 am 06:56 AM

Komputer kawan saya, semua fon Cina seperti Lagu tiruan, gaya Kai, Xing Kai, Microsoft Yahei, dan lain-lain tidak boleh didapati di WPS dan OFFICE Editor di bawah akan memberitahu anda bagaimana untuk menyelesaikan masalah ini. Fon dalam sistem adalah biasa, tetapi semua fon dalam pilihan fon WPS tidak tersedia, hanya fon awan. OFFICE hanya mempunyai fon Inggeris, bukan sebarang fon Cina. Selepas memasang versi WPS yang berbeza, fon Inggeris tersedia, tetapi juga tiada fon Cina. Penyelesaian: Panel Kawalan → Kategori → Jam, Bahasa dan Wilayah → Tukar Bahasa Paparan → (Wilayah dan Bahasa) Pengurusan → (Bahasa untuk program bukan Unikod) Tukar Tetapan Serantau Sistem → Bahasa Cina (Ringkas, China) → Mulakan semula. Panel Kawalan, tukar mod paparan di penjuru kanan sebelah atas kepada "Kategori", Jam, Bahasa dan Wilayah, tukar

Xiaomi Mi Pad 6 siri melancarkan WPS peringkat PC dalam jumlah penuh! Susun atur dan operasi yang sama seperti komputer Xiaomi Mi Pad 6 siri melancarkan WPS peringkat PC dalam jumlah penuh! Susun atur dan operasi yang sama seperti komputer Apr 25, 2024 pm 06:40 PM

Menurut berita pada 25 April, hari ini, Xiaomi Tablet secara rasmi mengumumkan bahawa Xiaomi Tablet 6, Xiaomi Tablet 6 Pro, Xiaomi Tablet 6 Max 14, dan Xiaomi Tablet 6 S Pro kini menyokong sepenuhnya WPSOffice peringkat PC. Difahamkan, Xiaomi Mi Pad 6 dan Mi Pad 6 Pro perlu menaik taraf versi sistem kepada V816.0.4.0 dan ke atas sebelum mereka boleh memuat turun WPSOffice daripada Xiaomi App Store. WPSOfficePCforPad mempunyai operasi dan susun atur halaman yang sama seperti versi komputer, dan secara rasmi dipanggil "mencapai kecekapan tinggi pada tablet yang setanding dengan versi komputer WPS Selain itu, dalam Xiaomi ThePaper OS, Xiaomi juga telah membawa multi baru." -sistem tugasan ke tablet Xiaomi , interaksi adalah serupa dengan mod tetingkap PC, secara rasmi dipanggil self-.

rendering 3d, konfigurasi komputer? Apakah jenis komputer yang diperlukan untuk mereka bentuk pemaparan 3D? rendering 3d, konfigurasi komputer? Apakah jenis komputer yang diperlukan untuk mereka bentuk pemaparan 3D? May 06, 2024 pm 06:25 PM

rendering 3d, konfigurasi komputer? 1 Konfigurasi komputer adalah sangat penting untuk pemaparan 3D, dan prestasi perkakasan yang mencukupi diperlukan untuk memastikan kesan dan kelajuan pemaparan. Perenderan 23D memerlukan banyak pengiraan dan pemprosesan imej, jadi ia memerlukan CPU, kad grafik dan memori berprestasi tinggi. 3 Adalah disyorkan untuk mengkonfigurasi sekurang-kurangnya satu komputer dengan sekurang-kurangnya 6 teras dan 12 utas CPU, lebih daripada 16GB memori dan kad grafik berprestasi tinggi untuk memenuhi keperluan pemaparan 3D yang lebih tinggi. Pada masa yang sama, anda juga perlu memberi perhatian kepada pelesapan haba komputer dan konfigurasi bekalan kuasa untuk memastikan operasi komputer yang stabil. Apakah jenis komputer yang diperlukan untuk mereka bentuk pemaparan 3D? Saya juga seorang pereka, jadi saya akan memberikan anda satu set konfigurasi (saya akan menggunakannya semula) CPU: amd960t dengan 6 teras (atau 1090t overclocked secara langsung) Memori: 1333

Bagaimana untuk menukar PDF ke PPT dalam Foxit PDF Editor_Tutorial tentang cara menukar PDF ke PPT dalam Foxit PDF Editor Bagaimana untuk menukar PDF ke PPT dalam Foxit PDF Editor_Tutorial tentang cara menukar PDF ke PPT dalam Foxit PDF Editor Apr 30, 2024 pm 03:13 PM

1. Mula-mula buka perisian Foxit PDF Editor. 2. Kemudian gunakan Foxit PDF Editor untuk membuka dokumen PDF, seperti yang ditunjukkan dalam rajah: 3. Tukar ke tab [Tukar] pada bar alat atas. 4. Kemudian pilih [PowerPoint] dalam menu lungsur turun [Ke MSOffice]. 5. Akhir sekali, simpan dokumen PPT yang telah ditukar ke lokasi yang dikehendaki.

Tetapan kadar mampatan maksimum 7-zip, bagaimana untuk memampatkan 7zip kepada minimum Tetapan kadar mampatan maksimum 7-zip, bagaimana untuk memampatkan 7zip kepada minimum Jun 18, 2024 pm 06:12 PM

Saya mendapati bahawa pakej termampat yang dimuat turun dari laman web muat turun tertentu akan lebih besar daripada pakej termampat asal selepas penyahmampatan Perbezaannya ialah berpuluh-puluh Kb dan berpuluh-puluh Mb jika fail kecil, jika terdapat banyak fail, kos penyimpanan akan meningkat dengan banyak. Saya telah membuat beberapa kajian mengenainya dan boleh belajar daripadanya jika perlu. Tahap mampatan: 9-mampatan melampau Saiz kamus: 256 atau 384, semakin dimampatkan kamus, semakin perlahan perbezaan kadar mampatan lebih besar sebelum 256MB dan tiada perbezaan dalam kadar mampatan selepas 384MB: maksimum 273 Parameter: f=BCJ2, uji dan tambah kadar mampatan parameter akan lebih tinggi

See all articles