作者TonyQ (骨头)
看板java
标题[JSP]资料库的问题
时间Fri May 5 05:14:44 2006
关於JSP处理资料来源的程式码,
我最近在写资料库网站,采用的是ACCESS资料库.
之前都是用
Statement stmt=null;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbsrc = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb);DBQ=";
String dblocation="绝对路径/XXX.mdb";
Connection conDB = DriverManager.getConnection(dbsrc+dblocation);
stmt = conDB.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
类似这样的方式连线, (try&catch区块我就省略不写了:P)
由於考虑到每次都这样设定路径似乎有点麻烦,
顺便试试别的方法,现在想采用设定资料来源的方式,
可是发现很诡异的状况是,我在[控制台]=>[系统管理工具]=>资料来源(ODBC)
设定好我的资料来源,假设名字叫value,我在J2SE的状况下运作ok的程式码,
完整写到jsp上用script的方式的时候,
却发现这样取得的Connection是null,所以产生nullPointerException..
程式码如下:
Statement stmt=null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String dbURL = "jdbc:odbc:value";
Connection conDB = DriverManager.getConnection(dbURL);
stmt = conDB.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}catch(Exception e){
}
真是诡异...有谁碰过和我一样类似的状况吗@@
--
我後来是写成一个小class来处理资料库,同一个case就统一用那个class来处理,
所以是换个位置就改变一下class内的位置,就比较没有这个问题.不过还是很麻烦..
--
String temp="relax"; | Life just like programing
while(buringlife) String.forgot(temp); | to be right or wrong
while(sleeping) brain.setMemoryOut(); | need not to say
stack.push(life.running); | the complier will
stack.push(scouting.buck()); | answer your life
stack.push(bowling.pratice()); | Bone
everything
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.58
※ 编辑: TonyQ 来自: 140.138.240.58 (05/05 05:15)
1F:推 PsMonkey:这篇文章只会让我想到 ogamenewbie 之前 po 的文章...... 05/05 05:23
2F:→ PsMonkey:anyway... 我只想说... 能不用 Access,就不要用... [逃] 05/05 05:23