Heim Datenbank MySQL-Tutorial ruby调用Office Jet引擎压缩access数据库

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

Jun 07, 2016 pm 03:50 PM
jet office ruby 压缩 引擎 调用

由于单位业务需要,搭建一台服务器专门用来做数据存储。因为数据流很小,遂采用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
Nach dem Login kopieren


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So zeigen Sie Word-Dokumente in vscode an. So zeigen Sie Word-Dokumente in vscode an So zeigen Sie Word-Dokumente in vscode an. So zeigen Sie Word-Dokumente in vscode an May 09, 2024 am 09:37 AM

Öffnen Sie zunächst die vscode-Software auf dem Computer, klicken Sie links auf das Symbol [Erweiterung], wie in ① in der Abbildung gezeigt. Geben Sie dann [officeviewer] in das Suchfeld der Erweiterungsoberfläche ein, wie in ② in der Abbildung gezeigt Wählen Sie dann aus der Suche [officeviewer] aus, um die Ergebnisse zu installieren, wie in ③ in der Abbildung gezeigt. Öffnen Sie schließlich die Datei, z. B. docx, pdf usw., wie unten gezeigt

Was tun, wenn die XLSX-Datei nicht auf dem Mobiltelefon geöffnet werden kann? Was tun, wenn die XLSX-Datei nicht auf dem Mobiltelefon geöffnet werden kann? Apr 25, 2024 am 08:28 AM

Warum können WPS- und Excel-Dokumente nicht auf dem Mobiltelefon von Apple geöffnet werden? 1. Der Grund, warum WPS- und Excel-Dokumente auf dem Mobiltelefon von Apple nicht in der Vorschau angezeigt werden können, liegt darin, dass es keine Anwendungen gibt, die diese Dateien unterstützen Auf dem Mobiltelefon installierte Formate Die Lösung besteht darin, eine Anwendung zu installieren, die das Dokumentformat unterstützt, um Dokumente in das PDF-Format zu konvertieren und Dokumente zum Öffnen an Computer oder andere Geräte zu senden. 2. Überprüfen Sie zunächst das Suffix der Datei. Wenn es sich um eine Excel-Datei handelt, die jedoch nicht geöffnet werden kann, bedeutet dies, dass der Dateityp nicht in den Ordneroptionen des Computers registriert ist. 3. Öffnen Sie zunächst den QQ-Browser auf Ihrem Mobiltelefon. Klicken Sie auf die Schaltfläche „Datei herunterladen“, um die Excel-Datei auszuwählen, die Sie öffnen möchten. Zusammenfassung Öffnen Sie das QQ-Browsing

WPS und Office verfügen nicht über chinesische Schriftarten und chinesische Schriftartnamen werden auf Englisch angezeigt. WPS und Office verfügen nicht über chinesische Schriftarten und chinesische Schriftartnamen werden auf Englisch angezeigt. Jun 19, 2024 am 06:56 AM

Auf dem Computer meines Freundes können alle chinesischen Schriftarten wie Imitation Song, Kai Style, Xing Kai, Microsoft Yahei usw. nicht in WPS und OFFICE gefunden werden. Der folgende Editor erklärt Ihnen, wie Sie dieses Problem lösen können. Die Schriftarten im System sind normal, aber nicht alle Schriftarten in den WPS-Schriftartenoptionen sind verfügbar, sondern nur Cloud-Schriftarten. OFFICE verfügt nur über englische Schriftarten, keine chinesischen Schriftarten. Nach der Installation verschiedener WPS-Versionen stehen englische Schriftarten zur Verfügung, es gibt jedoch auch keine chinesische Schriftart. Lösung: Systemsteuerung → Kategorien → Uhr, Sprache und Region → Anzeigesprache ändern → (Regions- und Sprach-) Verwaltung → (Sprache für Nicht-Unicode-Programme) System-Regionaleinstellungen ändern → Chinesisch (vereinfacht, China) → Neu starten. Systemsteuerung, ändern Sie den Ansichtsmodus in der oberen rechten Ecke auf „Kategorie“, Uhr, Sprache und Region, ändern

Die Xiaomi Mi Pad 6-Serie bringt WPS Office auf PC-Ebene in voller Stückzahl auf den Markt Die Xiaomi Mi Pad 6-Serie bringt WPS Office auf PC-Ebene in voller Stückzahl auf den Markt Apr 25, 2024 pm 09:10 PM

Laut Nachrichten dieser Website vom 25. April gab Xiaomi heute offiziell bekannt, dass Xiaomi Mi Pad 6, Mi Pad 6 Pro, Mi Pad 6 Max 14 und Mi Pad 6 S Pro jetzt WPSOffice auf PC-Ebene vollständig unterstützen. Unter anderem müssen Xiaomi Mi Pad 6 Pro und Xiaomi Mi Pad 6 die Systemversion auf V816.0.4.0 und höher aktualisieren, bevor sie WPSOfficePC aus dem Xiaomi App Store herunterladen können. WPSOfficePC verfügt über die gleiche Bedienung und das gleiche Layout wie ein Computer und kann in Kombination mit Tablet-Tastaturzubehör die Büroeffizienz verbessern. Den bisherigen Testerfahrungen dieser Seite zufolge ist WPSOfficePC deutlich effizienter bei der Bearbeitung von Dokumenten, Formularen, Präsentationen und anderen Dateien. Darüber hinaus sind verschiedene Funktionen, die auf mobilen Endgeräten umständlich zu nutzen sind, wie z. B. Textlayout, Bildeinfügung,

Die Xiaomi Mi Pad 6-Serie bringt WPS auf PC-Ebene in voller Lautstärke auf den Markt! Gleiches Layout und gleiche Bedienung wie am Computer Die Xiaomi Mi Pad 6-Serie bringt WPS auf PC-Ebene in voller Lautstärke auf den Markt! Gleiches Layout und gleiche Bedienung wie am Computer Apr 25, 2024 pm 06:40 PM

Laut Nachrichten vom 25. April gab Xiaomi Tablet heute offiziell bekannt, dass Xiaomi Tablet 6, Xiaomi Tablet 6 Pro, Xiaomi Tablet 6 Max 14 und Xiaomi Tablet 6 S Pro jetzt WPSOffice auf PC-Ebene vollständig unterstützen. Es versteht sich, dass Xiaomi Mi Pad 6 und Mi Pad 6 Pro die Systemversion auf V816.0.4.0 und höher aktualisieren müssen, bevor sie WPSOffice aus dem Xiaomi App Store herunterladen können. WPSOfficePCforPad verfügt über die gleiche Bedienung und das gleiche Seitenlayout wie die Computerversion und wird offiziell als „eine mit der Computerversion von WPS vergleichbare hohe Effizienz auf einem Tablet“ bezeichnet. Darüber hinaus hat Xiaomi mit Xiaomi ThePaper OS auch ein neues Multi auf den Markt gebracht -Aufgabensystem für Xiaomi-Tablets, die Interaktion ähnelt dem PC-Fenstermodus, der offiziell als Selbstbedienung bezeichnet wird.

3D-Rendering, Computerkonfiguration? Welche Art von Computer wird benötigt, um 3D-Rendering zu entwerfen? 3D-Rendering, Computerkonfiguration? Welche Art von Computer wird benötigt, um 3D-Rendering zu entwerfen? May 06, 2024 pm 06:25 PM

3D-Rendering, Computerkonfiguration? 1 Die Computerkonfiguration ist für das 3D-Rendering sehr wichtig und es ist eine ausreichende Hardwareleistung erforderlich, um den Rendering-Effekt und die Geschwindigkeit sicherzustellen. Das 23D-Rendering erfordert viele Berechnungen und Bildverarbeitung und erfordert daher eine leistungsstarke CPU, Grafikkarte und Speicher. 3 Es wird empfohlen, mindestens einen Computer mit mindestens 6 Kernen und 12 Threads CPU, mehr als 16 GB Speicher und einer leistungsstarken Grafikkarte zu konfigurieren, um den höheren 3D-Rendering-Anforderungen gerecht zu werden. Gleichzeitig müssen Sie auch auf die Wärmeableitung und die Stromversorgungskonfiguration des Computers achten, um einen stabilen Betrieb des Computers zu gewährleisten. Welche Art von Computer wird benötigt, um 3D-Rendering zu entwerfen? Ich bin auch Designer, daher gebe ich Ihnen eine Reihe von Konfigurationen (ich werde sie wieder verwenden) CPU: amd960t mit 6 Kernen (oder 1090t direkt übertaktet) Speicher: 1333

Wie man Deepseek PDF umwandelt Wie man Deepseek PDF umwandelt Feb 19, 2025 pm 05:24 PM

Deepseek kann Dateien nicht direkt in PDF konvertieren. Abhängig vom Dateityp können Sie verschiedene Methoden verwenden: gemeinsame Dokumente (Word, Excel, PowerPoint): Verwenden Sie Microsoft Office, LibreOffice und andere Software, um als PDF zu exportieren. Bild: Speichern Sie als PDF mithilfe von Image Viewer oder Bildverarbeitungssoftware. Webseiten: Verwenden Sie die Funktion des Browsers "Into PDF" oder die dedizierte Webseite zum PDF -Tool. Ungewöhnliche Formate: Finden Sie den richtigen Konverter und konvertieren Sie ihn in PDF. Es ist wichtig, die richtigen Tools auszuwählen und einen Plan zu entwickeln, der auf der tatsächlichen Situation basiert.

Einstellung der maximalen Komprimierungsrate von 7-zip, wie man 7zip auf das Minimum komprimiert Einstellung der maximalen Komprimierungsrate von 7-zip, wie man 7zip auf das Minimum komprimiert Jun 18, 2024 pm 06:12 PM

Ich habe festgestellt, dass das von einer bestimmten Download-Website heruntergeladene komprimierte Paket nach der Dekomprimierung größer ist als das ursprüngliche komprimierte Paket. Der Unterschied beträgt mehrere zehn KB und mehrere zehn MB. Wenn es auf eine Cloud-Festplatte oder einen kostenpflichtigen Speicherplatz hochgeladen wird, spielt es keine Rolle Wenn die Datei klein ist und viele Dateien vorhanden sind, erhöhen sich die Speicherkosten erheblich. Ich habe einige Recherchen dazu durchgeführt und kann bei Bedarf daraus lernen. Komprimierungsstufe: 9-extreme Komprimierung. Wörterbuchgröße: 256 oder 384. Je stärker das Wörterbuch komprimiert ist, desto langsamer ist der Unterschied in der Komprimierungsrate vor 256 MB. Nach 384 MB gibt es keinen Unterschied in der Komprimierungsrate Parameter: f=BCJ2, die Komprimierungsrate für Test- und Add-Parameter ist höher

See all articles