SQLite在ASP,JSP中的应用

来源:互联网 发布:手机淘宝怎么差评不了 编辑:程序博客网 时间:2024/05/22 07:48
SQLite作为一个开源的嵌入式数据库产品,具有系统开销小,检索效率高的特性,适用于手机、PDA、机顶盒设备等电器,并且作为嵌入式数据库在可下载的消费类应用程序中运行的很好。
  
  SQLite与COM
    我找到的是newObjects公司的一个免费版本,网址www.newobjects.com,安装axpack1pc.exe和SQLiteDBManAll.exe(管理端)就可以用了。
  使用方法,写一个测试的asp页面
Dim Content,DB, DBPath, StrSQL
Content = Request.Form("Content")
Set DB = Server.CreateObject("newObjects.sqlite3.dbutf8")
DBPath = Server.MapPath(".") & "\spring.db"
If DB.Open(DBPath) Then
 StrSQL = "Update SH_Spring Set Content=? Where ID=1"
 Dim a(0)
 a(0) = Content
 DB.AExecute StrSQL, a
 DB.Close
Else
 Response.Write "连接数据库时发生错误: "& db.LastError
End If
Set DB = Nothing
 
  SQLite与Java
  SQLite源代码是C,而且官方网站上只提供了CTcl语言的接口。为了应用Java接口,要采用第三方的接口驱动程序,可在http://www.ch-werner.de/javasqlite 中找到这个Java接口程序。这个接口提供了两种连接SQLite的方式:一是直接用JNI技术调用SQLiteC语言接口,这种方式要求开发人员要对SQLite本身的API也有一定的了解。在第二种方式中,接口程序实现了Java标准规范的JDBC接口,这样开发人员只要对JDBC有了解就可以了。
  下载到新的(javasqlite-20080401-win32.zip),解开注意看目录名字,是j2sdk1.4.2_03,说明此版本应在jdk1.4.2版本以上,找到安装的jdk目录,把这个包中的jre\bin\sqlite_jni.dll和jre\lib\ext\sqlite.jar分别放在jdk目录的jre对应目录名称下(我在测试jsp页面中,总是报NoClassFound错误,这2个文件都需要放在jre目录下的,JNI技术只用前面的dll即可,注意用jdbc链接方式请也要放dll文件的。)
  开始在Tomcat中跑个测试程序了,建一个test.jsp
String dbUrl = "jdbc:sqlite:/"+application.getRealPath("pay_sh").replace("\\", "/")+"/IPTV_SH.db"; (1)
Class.forName("SQLite.JDBCDriver"); (2)
Connection conn = DriverManager.getConnection(dbUrl);
if (conn != null){
 String sql = "Select UserId from UserFree where userid='99900015'";
 Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(sql);
    while (rs.next()){
     out.println(rs.getString("userid"));
    }
}
rs.close();
stmt.close();
conn.close();
 
代码加上Try..Catch即可,时间有限,自添。
(1)注意sqlite文件(.db)的路径,有4种方式
jdbc:sqlite://dirA/dirB/dbfile
jdbc:sqlite:/DRIVE:/dirA/dirB/dbfile
jdbc:sqlite:///COMPUTERNAME/shareA/dirB/dbfile
jdbc:sqlite:/:memory:
本例是第2种,注意"/"的数量。路径是绝对路径。
(2)这里因为jar包不同,可能写法不同,有的是"org.sqlite.xxx"
原创粉丝点击