發表文章

目前顯示的是 5月, 2019的文章

檔案編碼轉換小工具

圖片
檔案: FileEncode.exe 運行環境: .NET 2.0 Runtime 注意,這是編碼轉換,不是翻譯喔!! 某些時候在一些新舊系統文件上就是會遇到編碼文件需求不同而傷腦筋,在某些舊程式上就是如此,也無法再改動或是更新等問題,文件本身的編碼就會導致文件交易相當不順暢。 這支小程式就是用來解決這些問題的。 但要注意的是,UNICODE萬國編碼的文字一定會比舊式編碼大得多,可能會遇到某些文字無法轉換問題,例如簡體中文(GB)轉繁體中文(BIG5)。 對於英數字文件轉換是有一定實用性的。 通常新系統會使用UTF-8編碼,舊系統會使用 BIG5編碼/ANSI編碼/ISO8895-1編碼之類的。 我這邊最多用到的是 BIG5 (950) 轉 UTF-8 (65001) 需要用的自己下載去玩吧。 下載點 使用方式: 編碼類型: 37 - IBM037 437 - IBM437 500 - IBM500 708 - ASMO-708 720 - DOS-720 737 - ibm737 775 - ibm775 850 - ibm850 852 - ibm852 855 - IBM855 857 - ibm857 858 - IBM00858 860 - IBM860 861 - ibm861 862 - DOS-862 863 - IBM863 864 - IBM864 865 - IBM865 866 - cp866 869 - ibm869 870 - IBM870 874 - windows-874 875 - cp875 932 - shift_jis 936 - gb2312 949 - ks_c_5601-1987 950 - big5 1026 - IBM1026 1047 - IBM01047 1140 - IBM01140 1141 - IBM01141 1142 - IBM01142 1143 - IBM01143 1144 - IBM01144 1145 - IBM01145 1146 - IBM01146 1147 - IBM01147 1148 - IBM01148 1149 - IBM01149 120...

FirebirdSQL 新增資料庫使用者與資料表權限

圖片
Firebird 資料庫有個最高權限的 SYSDBA 帳號,正常上線使用下最好將它的密碼進行變更,然後再新增一個使用者並賦予資料表的權限,這樣比較安全。 這些調整指令都透過使用 isql 介面來完成 ※注意,使用 isql 調整資料庫相關設定前,先把 Firebird 服務/引擎 先關閉,以免發生占用衝突。 假設我們資料庫是在 D:\NEWDB\test.fdb 首先,變更 SYSDBA 的密碼 C:\FB3>isql -user SYSDBA D:\NEWDb\test.fdb↵ Database: D:\NEWDb\test.fdb, User: SYSDBA SQL> ALTER USER SYSDBA password 'mustKey';↵ SQL> COMMIT;↵ SQL> 這樣就把密碼變更為 mustKey 了 (注意,Firebird 對帳號沒有大小寫分別,但是密碼有分別) 一、新增使用者 SQL> CREATE USER user01 password 'userPass01';↵ 或是創建時同時賦予角色權限(例如管理者權限) SQL> CREATE USER user01 password 'userPass01' GRANT ADMIN ROLE;↵ ※參考  SQL user management commands ※參考  ROLE ※參考  The RDB$ADMIN role 二、對使用者賦予資料表權限 假設我有一個資料表 EMPL SQL> GRANT SELECT , INSERT , UPDATE ON TABLE EMPL TO USER user01;↵ 這代表我只賦予 user01 對 EMPL 只能操作 SELECT、INSERT、UPDATE 三種權限。 基本上,資料表操作權限只有 SELECT、INSERT、UPDATE、DELETE、REFERENCES 這四種,要 CREATE/DROP/ALTER 資料表只能由 SYSDBA 來做。 REFERENCES 這權限是用來讀取資料表的 關聯 資訊(foreign key)的。 ...

FirebirdSQL 以單次執行

圖片
這個是繼 上篇文章 之後,如果不希望這資料庫一直以服務狀態執行,而是希望 Client App 啟動時才執行的方法。 其實,就跟前一篇一樣的設定,就是不要做 install_service 的動作。 只是有幾個要先做的步驟還是少不了 一、要註冊 Firebird  到 Register 裡面 執行 instreg,這個動作在一部 電腦只需要做一次就好 D:\FB3\instreg install -z 二、在客戶端程式執行時 啟動 Firebird 引擎 呼叫方法大致分兩種 (1) 經典模式 D:\FB3\firebird -a (2)超級伺服器模式 D:\FB3\firebird -a -m ※兩種模式參考 說明書 其實在 Windows 下這兩種模式都差不多,選擇一種就可以,啟動後可以在工作列圖式看到這個圖案。 這個引擎會一直開著直到 Windows 關閉為止,或是手動 Shutdown 它。

FireBirdSQL 小型(崁入型)資料庫 初探、下載、建立、設定

圖片
常常會有些時候,開發一些工具程式會需要自帶資料庫的時候。 在10年前,那時候最好的一些開發工具選擇可能還是 Foxpro 吧。 但是自從微軟不再對 Foxpro 做更新時,就已經是末路之流了。 近年來,桌機上的商用主流依然是 Windows 無誤,開發工具從我孰悉的 powerbuilder 漸漸轉向了 C# 。 雖然 powerbuilder 沒辦法使用 Embedded Database ,然而業務開發又需要提供具有資料庫能力的『單機版』程式,雖然說是單機版,但實際使用上通常都會在 3 ~ 5人左右的程式。 因為公司是希望開發好的程式/資料庫可以打包一起,然後是由不是很懂 IT 的業務人員去客戶那邊安裝(最好能一鍵安裝或傻瓜安裝就搞定)的。 MS SQL express 是不錯的選擇,但是太過肥大,安裝又是囉哩叭縮,要包成自動安裝難度太高,如果又要網路共享需要比較懂得人才有辦法去設定啊,也不是一般業務人員可以搞定啊。 雖然,MySQL、 、MariaDB 也是不錯,但還要安裝 ODBC 來分享這也不好搞的。 SQL lite 太過單機,小型群組分享資料庫是做不到了,還得透過 API 指令。 Access DB、Excel table 等太過精簡,操作一個不小心未正常關檔,檔案就掛了,欲哭無淚。Excel table 資料庫沒有加密,等於裸奔狀態。 游網之餘,看到了這個 FireBirdSQL ,其前身是 Interbase 也算元老級的,但支援小群組共同使用,支援加密、StoreProcedure、可以當 Embedded DB 也可以當 C/S 資料庫,雖然效能不怎樣,但是這樣在小程式上真的綽綽有餘,所以趕快來研究看看吧。 FireBirde官方網站 一、下載主程式 本篇討論使用的是 Firebird 3.0.4 版  ,由於需要能夠被打包所以就下載這個 ZIP 壓縮檔版本 為什麼下載 32-bit 版本? 因為沒辦法保證客戶使用的 Windows 平台是 64-bit 的,所以保險起見就用 32-bit 來執行。 下載 ZIP 檔案回來後解壓縮後(通常會放在 C:\FB3 ,實際依需求去放),就可以開始設定了。 二、建立一個放資料檔案的路徑 (我的範例是 D:\NEWDB) ...