<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式數(shù)據(jù)庫在Java中的應(yīng)用[1]

          嵌入式數(shù)據(jù)庫在Java中的應(yīng)用[1]

          作者: 時間:2008-04-03 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/258086.htm2. 編譯第三方接口

            源代碼是C,而且官方網(wǎng)站上只提供了C和Tcl語言的接口。為了應(yīng)用接口,要采用第三方的接口驅(qū)程,可在參考鏈接三中找到這個接口程序。這個接口提供了兩種連接 的方式:一是直接用JNI技術(shù)調(diào)用的C語言接口,這種方式要求開發(fā)人員要對SQLite本身的API也有一定的了解。在第二種方式中,接口程序?qū)崿F(xiàn)了Java標(biāo)準規(guī)范的JDBC接口,這樣開發(fā)人員只要對JDBC有了解就可以了。

            下面介紹在Windows系統(tǒng)MS VC6環(huán)境中編譯SQLite Java接口(同時包括JNI和JDBC兩個接口)的過程。如果你對C語言編譯的設(shè)置很熟悉,可以跳這這段介紹。

            第一步先把SQLite源代碼編譯成Lib靜態(tài)庫文件。具體的步驟可以直接應(yīng)用下面參考鏈接中提供的MS VC6工作區(qū)文件,其中有一個編譯SQLite到靜態(tài)庫的設(shè)置。編譯成功后得到SQLite.lib文件。
            第二步要建立一個新的VC DLL項目,然后和上面介紹的Berkeley DB在編譯Java本地化接口的設(shè)置一樣,在VC的Tools菜單Options選項中指定JNI.H等JNI編譯所要的頭文件位置。同時還要指定sqlite.h頭文件位置,這個文件是在生成SQLite靜態(tài)庫的時候自動生成的,可以在SQLite.lib文件所在的工作區(qū)目錄下面找到它,例如加入的路徑為C:sqlitemsvc6。然后在Project菜單的setting選項設(shè)置Link到SQLite.lib庫文件,并再次在Tools菜單中Options指定SQLite.lib的查找路徑。注意有些情況下可能要設(shè)置予編譯選項HAVE_SQLITE_COMPILE以便使用SQLite中VM的一些功能。編譯成功后可得到Sqlite_jni.dll文件。

            第三方接口庫中的Java代碼包含JNI接口和多個版本的JDBC接口程序,可根據(jù)你的JRE的版本選擇相應(yīng)的JDBC程序。編譯這些Java代碼的過程這里就不做敘述了。

            編譯后的Java類包加上前面得到的Sqlite_jni.dll文件,組成了SQLite的Java接口庫,在應(yīng)用Java語言調(diào)用JDBC或JNI接口時,都是通過應(yīng)用Java的本地化技術(shù)調(diào)用Sqlite_jni.dll文件,完成對SQLite數(shù)據(jù)庫的操作。

            3. 應(yīng)用JNI直接調(diào)用SQLite功能

            下面這段代碼演示如何應(yīng)用JNI接口操作SQLite??梢钥吹紻atabase類的exec()方法是執(zhí)行SQL語句的關(guān)鍵:

            Database db = new Database();
            try {
              //打開數(shù)據(jù)庫
              db.open(c:tempmydata.slt, 0666);
              db.interrupt();
              db.busy_timeout(1000);
              db.busy_handler(null);
              db.exec(create table account (name varchar(10),gale boolean),result);
              db.exec(insert into account values('steve','m'), result);
              db.exec(select * from account,result);
              //關(guān)閉數(shù)據(jù)庫
              db.close();
            } catch (Exception e) {
              e.printStackTrace();
            }

            4. 應(yīng)用JDBC連接SQLite

            用SQLite.JDBCDriver作為JDBC的驅(qū)動程序類名。連接JDBC的URL格式為jdbc:sqlite:/path。這里的path為指定到SQLite數(shù)據(jù)庫文件的路徑,例如:

            jdbc:sqlite://dirA/dirB/dbfile
            jdbc:sqlite://DRIVE:/dirA/dirB/dbfile
            jdbc:sqlite://COMPUTERNAME/shareA/dirB/dbfile


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();