乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Firebird數(shù)據(jù)庫值得信賴嗎?為什么我要在開發(fā)中選擇它?

       diamond 2007-09-13
       [原創(chuàng)]Firebird數(shù)據(jù)庫值得信賴嗎?為什么我要在開發(fā)中選擇它?
      1、Firebird是一個真正的關(guān)系數(shù)據(jù)庫,支持存儲過程、視圖、觸發(fā)器、事務(wù)等大型關(guān)系數(shù)據(jù)庫的所有特性;
      2、Firebird支持SQL92的絕大部分命令,并且支持大部分SQL99命令,新版Firebird 2.0對SQL99的支持更完整;
      3、Firebird源碼基于成熟的商業(yè)數(shù)據(jù)庫Interbase,有良好的穩(wěn)定性,與Interbase有良好的兼容性;
      4、不用考慮授權(quán)費(fèi)用(免費(fèi)),不用當(dāng)心將來有一天你或你的客戶因為使用盜版而被數(shù)據(jù)庫開發(fā)商告上法庭;
      5、發(fā)布簡易,安裝文件只有幾M,且高度可定制,客戶端的分發(fā)也很簡單,只需一個DLL文件;
      6、Firebird的一嵌入式服務(wù)器版本,不用安裝,直接運(yùn)行,基于單機(jī)開發(fā)首選;
      7、Firebird的運(yùn)行效率非常高;
      8、具備高度可移植性,可在Linux,Unix,MacOS,Windows,Solaris系統(tǒng)下運(yùn)行,而且數(shù)據(jù)庫格式完全一樣,不用修改;
      9、開發(fā)環(huán)境支持良好,Delphi,C++Builder不用通過ODBC連接,直接用原生開發(fā)接口開發(fā)基于Firebird的程序。
       
      還有其他特性:
      1.支持事件,這個特性很好,很多商業(yè)數(shù)據(jù)庫都沒有,如sql server,DB2都沒有.
      2. 支持?jǐn)?shù)組字段,這個sql server還不支持.
      3  支持計算字段,這個sql server還不支持.不過作用不是很大.
      4  觸發(fā)器功能比很多商業(yè)數(shù)據(jù)庫都強(qiáng)大
      好處講了,我現(xiàn)在講企業(yè)級應(yīng)用還缺少的地方(^..^大家不要對我扔香蕉呀):
      1. 不支持分布式服務(wù), 如在觸發(fā)器中或存儲過程中也訪問其他的FB數(shù)據(jù)庫現(xiàn)在沒有解決方法.只能通過前臺程序進(jìn)行解決.
      2 Supserver模式不的線程不支持多處理器.這個可能要等到FB3.0才能解決.
      3 不支持?jǐn)?shù)據(jù)分發(fā)與訂閱,現(xiàn)在MIS系統(tǒng)一般都要求數(shù)據(jù)即集中又獨立,這個就要數(shù)據(jù)的分發(fā)與訂閱服務(wù).當(dāng)然即使支持服務(wù),寫這樣的管理系統(tǒng)時數(shù)據(jù)庫設(shè)計要需要很多的技巧的.不過通過第三方工具可以支持.見網(wǎng)站:www.meta.com.au 有一個FBReplicator工具
      4 不支持全文檢索,不過可以通過第三方工具支持,見以下網(wǎng)站:http://www./cs/database/FulltextFirebird.asp

      現(xiàn)講些雞毛算皮的
      1 不支增量備份,只有完全部分.對于特大的數(shù)據(jù)庫時,完全備分就會有些不便了.
      2 沒有事務(wù)日誌(因是MGA),也就是不存在日誌備份,不過這個有不有作用不是很大.
      3 基本的內(nèi)置函數(shù)缺少.寫存儲過程與觸發(fā)器時得找些第三方函數(shù)庫,或自己寫自定義函數(shù),這個即有壞處也有好處,壞處是影響了開發(fā)效率,好處是程序員可以寫出功能強(qiáng)大的適合本系統(tǒng)的函數(shù).相當(dāng)于sql server的自定義存儲過程.
      4 安全性不好,破解FB的數(shù)據(jù)庫密碼相當(dāng)容易,只要把原生secury.fdb數(shù)據(jù)庫覆蓋你服務(wù)器同名的數(shù)據(jù)庫,sysdba管理員的密碼就恢復(fù)到masterkey ,這個只能怪開源太透明什么都告訴你,假設(shè)你知sql server 安全數(shù)據(jù)資料存放在什么地方,我相信每個人破解sa 密碼也是很容易的.
      5 過程與觸發(fā)器代碼不能加密碼,這樣自己系統(tǒng)的業(yè)務(wù)邏輯很容易被泄露.像sql server可以加蜜,不過其加密是假,在網(wǎng)上隨便下個工具就可以破解,不過sql server可以寫成dll形式的外部存儲過程(哈哈,就是fb的自定義函數(shù))
      6 數(shù)據(jù)精度不可,不過對一般的中小型應(yīng)用來說是夠了.
      7 不支持臨時表,這個比sql server退步點,不過他有外部文件表,哈哈比sql server有進(jìn)步.
       
      7 不支持臨時表,這個比sql server退步點,不過他有外部文件表,哈哈比sql server有進(jìn)步
      什么是外部文件表?
       
      這個指的是在firebird中數(shù)據(jù)庫的表,他的表數(shù)據(jù)是以文件形式存在磁的,例如:
      CREATE TABLE HELL
      EXTERNAL FILE ‘extal.fs‘ (
        ADDREE CHAR(10) NOT NULL,
        NAME CHAR(10))

      以上將建一個extal.fs的文件來保存表HELL的數(shù)據(jù),extal.fs文件的路徑由FB的配置文件中的ExternalFileAccess選項決定,如ExternalFileAccess=c:\windows 那么extal.fs的全路徑是:
      c:\windows\extal.fs

      這種表用來與其他的數(shù)據(jù)源交源數(shù)據(jù)是相當(dāng)方便的.
       回復(fù):[原創(chuàng)]Firebird數(shù)據(jù)庫值得信賴嗎?為什么我要在開發(fā)中選擇它?
      [QUOTE][b]以下是引用haha168在2005-8-24 22:47:40的發(fā)言:
      過程與觸發(fā)器代碼不能加密碼,這樣自己系統(tǒng)的業(yè)務(wù)邏輯很容易被泄露.像sql server可以加蜜,不過其加密是假,在網(wǎng)上隨便下個工具就可以破解,不過sql server可以寫成dll形式的外部存儲過程(哈哈,就是fb的自定義函數(shù))
      [/QUOTE]

      這一條有異議,好象可以在編譯之后把存儲過程的文本刪掉,沒的試過,有興趣的可以試試(注意先做好備份)

      FB怎么對存貯過程進(jìn)行加密

      用firebird開發(fā)的系統(tǒng),發(fā)布后,用戶可以打開數(shù)據(jù)庫并看到存儲過程源碼,如何加密存儲過程不讓用戶查看.

      很簡單, 修改系統(tǒng)表 RDB$PROCEDURES 的字段 RDB$PROCEDURE_SOURCE

      的內(nèi)容即可, 我是這樣的:

      UPDATE RDB$PROCEDURES
      SET RDB$PROCEDURE_SOURCE = NULL

      (RDB$PROCEDURE_BLR 是編譯后的二進(jìn)制代碼, 刪除源代碼不影響運(yùn)行)

      以上文字來源于龍豪軟件(www.)
       
      上面的保密方式我是不敢用的,版本管理困難呀,我記得在2003的firebird年會資料上就有人說過這個招了,但沒人敢用.

      vga,我不知道你會不會破解sql server的sa密碼?如果會你就把他公布出來,讓我們學(xué)習(xí)下我是不會的。不過我是很容易把ib/fb的sysdb密碼破解的,這個方法很多都會的。要比功能的強(qiáng)大與全面、安全、易用.ib/fb是比不過sql server的(大家別吐口水呀),不過ib/fb也有他的特色。反正是白菜、蘿卜各有愛。能滿足客戶需要就是我們標(biāo)準(zhǔn)了
       
      haha168:
      請參考:
      http://www./design/ShowArticle.asp?ArticleID=822
       
      版本管理是怎么回事??
      要是修改了存儲過程,用新的存儲過程replace create,然后再清除源碼不行嗎??

      所謂存儲過程版本管理的概念,只是一個引用的概念而已, 意思是, 如果已經(jīng)正式發(fā)行了的軟件(已經(jīng)交付用戶使用了), 因某種原因升級時, 可能用戶那里的數(shù)據(jù)庫存儲過程也需要更新, 那么就需要你在程序里寫相關(guān)的專用代碼來解決這個問題.

      我目前的解決方案其實就是將開發(fā)時的新的存儲過程代碼,導(dǎo)出并加密
      然后在相應(yīng)程序的模塊中解密導(dǎo)入,重編譯, 然后,刪除源代碼
      可能有更好的辦法(或許可以省略加解密過程, 直接導(dǎo)出導(dǎo)入二進(jìn)制代碼,呵呵), 但目前我不知道,學(xué)習(xí)中...

      我也在學(xué)習(xí)中啊,在用戶那兒再編譯, 確實不是好的解決方法吧,所以那時我還是不太肯定 不過今天提出的問題仔細(xì)一看,好像還真很簡單, 可以直接利用RDB$PROCEDURE_BLR字段的,哈哈
       
      PROCEDURE_BLR字段是什么類型的?
      可以直接Update么??等你的測試結(jié)果。
      PROCEDURE_BLR字段是BLOB,嗯,原來如此

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多