ruby调用Office Jet引擎压缩access数据库
由于单位业务需要,搭建一台服务器专门用来做数据存储。因为数据流很小,遂采用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

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

首先,在電腦上開啟vscode軟體,點選左邊的【Extension】(擴充)圖標,如圖中①所示然後,在擴充介面的搜尋框中輸入【officeviewer】,如圖中②所示接著,從搜尋結果中選擇【officeviewer】安裝,如圖中③所示最後,開啟文件,如docx,pdf等,如下圖

蘋果手機為什麼wps和excel文件打不開顯示無法預覽此文件1、蘋果手機上無法預覽WPS和Excel文檔的原因是因為手機上沒有安裝支持這些文件格式的應用程序,解決辦法有安裝支持文檔格式的應用程序,將文件轉換為PDF格式,將文件傳送到電腦或其他裝置上開啟。 2.先檢查檔案的後綴是什麼,如果是excel類別檔案後綴卻打不開,表示該檔案類型未註冊到電腦的資料夾選項中。 3.首先,在手機上開啟QQ瀏覽器;點選下方中間的那個按鈕;點選「檔案下載」;點選「文件」選擇想要開啟的excel檔案即可。總結打開QQ瀏覽

本站4月25日消息,小米今日官宣,小米平板6、小米平板6Pro、小米平板6Max14、小米平板6SPro現已全量支援PC級WPSOffice。其中,小米平板6Pro、小米平板6需升級系統版本為V816.0.4.0以上,才可在小米應用商店下載WPSOfficePC。 WPSOfficePC採用了電腦同款操作和佈局,搭配平板的鍵盤配件,可以提高辦公室效率。根據本站先前的評測體驗,WPSOfficePC在編輯文件、表格、簡報等文件時效率明顯更高了。而且各種行動端使用不便的功能,諸如文字排版、圖片插入、

小夥伴電腦,WPS和OFFICE中字體仿宋、楷體、行楷、微軟雅黑等所有中文字體都找不到,下面小編來說說如何解決這個問題。系統中字體正常,WPS字體選項中所有字體都沒有,只有雲端字體。 OFFICE只有英文字體,中文字體一個都沒有。 WPS安裝不同版本後,英文字體有了,但同樣一個中文字體都沒有。解決方法:控制台→類別→時鐘、語言和區域→更改顯示語言→(區域和語言)管理→(非Unicode程式的語言)更改系統區域設定→中文(簡體,中國)→重新啟動。控制面板,右上角查看方式改為“類別”,時鐘、語言和區域,更改

4月25日消息,今日,小米平板官方宣布,小米平板6、小米平板6Pro、小米平板6Max14、小米平板6SPro現已全量支援PC級WPSOffice。據了解,小米平板6、小米平板6Pro需升級系統版本為V816.0.4.0以上,才可在小米應用商店下載WPSOffice。 WPSOfficePCforPad擁有電腦版同款的操作和頁面佈局,被官方稱為「在平板上實現媲美電腦版WPS的高效率。」另外,在小米澎湃OS中,小米還為小米平板帶來了全新多任務系統,交互與PC視窗模式相似,官方稱為自

3d渲染,電腦配置? 1電腦配置對於3D渲染非常重要,需要足夠的硬體效能才能確保渲染效果和速度。 23D渲染需要大量的運算和影像處理,因此需要高效能的CPU、顯示卡和記憶體。 3建議配置至少一台搭載至少6核心12執行緒的CPU、16GB以上的記憶體和一張高效能顯示卡的電腦,才能滿足較高的3D渲染需求。同時,也需要注意電腦的散熱和電源等方面的配置,以確保電腦的穩定運作。做設計3D渲染需要配置什麼樣的電腦?本人也是做設計的,給你一套配置吧(本人再用)CPU:amd960t開6核心(或1090t直接超頻)記憶體:1333

1.先開啟福昕PDF編輯器軟體。 2.然後用福昕PDF編輯器開啟PDF文檔,如圖所示:3、頂部工具列切換到【轉換】標籤頁。 4.接著選擇【到MSOffice】下拉式選單裡的【PowerPoint】。 5.最後將轉換後的PPT文件儲存到所需的位置即可。

發現某下載網站下載的壓縮包,解壓縮後再打包會比原來的壓縮包大一些,小的幾十Kb的差別,大的幾十Mb的差別,如果上傳到雲盤或付費空間,文件少無所謂,文件多的話,大大的增加儲存成本。特意研究了下,有需要的可以藉鏡。壓縮等級:9-極限壓縮字典大小:256或384,字典越壓縮越慢,256MB之前壓縮率差異較大,384MB後壓縮率無差別單字大小:最大273參數:f=BCJ2,測試加參數壓縮率會高一些
