社区
Web 开发
帖子详情
请教JSP与ORACLE连接问题。
sky_lion
2001-05-29 07:53:00
怎样实现JSP与ORACLE连接?请详述。
...全文
401
27
打赏
收藏
请教JSP与ORACLE连接问题。
怎样实现JSP与ORACLE连接?请详述。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
handbread
2001-06-12
打赏
举报
回复
还是举例子比较直观
下面是我一般常用的conn.jsp
<%
Connection conn=null;
Statement stmt=null;
try{
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver() );
conn = DriverManager.getConnection("jdbc:oracle:thin:@172.18.88.48:1521:voyager","shec", "shec");
stmt = conn.createStatement();
}catch(SQLException e){
System.out.println("Error when execute a query operation :\n"
+e.getMessage()+"\n SQL error code="+e.getErrorCode());
}
%>
就这么简单
里面172.18.88.48是数据库服务器的地址
voyager是数据库的SID名称
shec/shec是用户名和密码
classes12.zip 和nls_charset12.zip这两个驱动可能还得受到JDK版本的影响
你JDK是什么版本的?
handbread
2001-06-12
打赏
举报
回复
不好意思这两天比较忙 没上论坛
也不知道你的问题现在什么状态
解决了么
要是还有问题 那我们再继续一起讨乱讨论
sky_lion
2001-06-05
打赏
举报
回复
sky_lion
2001-06-04
打赏
举报
回复
to:headbread
老兄帮帮忙吧?
sky_lion
2001-05-31
打赏
举报
回复
to:handbread
四个驱动加上去了,执行时系统提示:
no suitable driver
handbread
2001-05-31
打赏
举报
回复
那你可以开始用JDBC直接连了
比ODBC简单多了
关键是JDBC驱动的classpath配置问题
你看看Oracle8i目录下的JDBC目录下 应该有classes12.zip 和nls_charset12.zip
把这两个文件加到classpath里去就可以了
sky_lion
2001-05-31
打赏
举报
回复
to:handbread
DriverManager.getConnection("jdbc:oracle:thin:@xxx.xxx.xxx.xxx:port:SID","us
ername", "password");句中的jdbc:oracle:thin:@xxx.xxx.xxx.xxx:port:SID填什么呀?
sky_lion
2001-05-31
打赏
举报
回复
是数据源配置有问题,我把原来的删了,重建了一个就行了。
handbread
2001-05-31
打赏
举报
回复
ODBC联通了?
你那个SERVICE_NAME到底是怎么回事?
另:JDBC直接连的方法已经在第一个回复里贴出来了
你需要做的就是把Oracle8i目录下的jdbc驱动加到classpath里去
sky_lion
2001-05-31
打赏
举报
回复
to:handbread
多谢你的帮助,我用ODBC已经连通了现在想试一下JDBC,能帮我把上面的程序改一下吗?请注明修改行。
sky_lion
2001-05-30
打赏
举报
回复
to:handbread
在D:\oracle\ora81\network\ADMIN目录下只TNSNAMES,没有sqlnet.ora.
handbread
2001-05-30
打赏
举报
回复
你这种JDBC-ODBC的方法一点问题都没有
我在没有修改代码的前提下 建了一个Oracle的系统DNS
运行正常
所以你要确定几点:
1.系统DNS是否已经正确配置,也就是说Oracle连接服务名配置是否正确
这个可以用Oracle自带的SQL/Plus来检验
2.你对数据库操作是否正确,表名?字段名....
这个你可以通过打印错误信息来查找
将最后一段catch修改为
catch(Exception e){
out.print(e.toString());
}
就可以看到Oracle的系统报错了,根据错误编号 到Oracle技术手册里去查错误原因
byfree
2001-05-30
打赏
举报
回复
先写个bean,在每个页面中用<jsp:useBean id="RegisterBean" scope="page" class="db.oradb" />
package db;
import java.sql.*;
public class oradb {
String orauser="用户";
String orapasswd="密码";
String sDBDriver="oracle.jdbc.driver.OracleDriver";
String sConnStr="jdbc:oracle:thin:@192.168.0.4:1521:orcl";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
public oradb() {
try {
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,orauser,orapasswd);
stmt = conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("oradb(): " + e.getMessage());
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
public int executeUpdate(String sql) {
int i=0;
try{
i=stmt.executeUpdate(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return i;
}
public void closeStmt(){
try{
stmt.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
public void closeConn(){
try{
conn.close();
}
catch(SQLException e){
e.printStackTrace();
}
}
}
handbread
2001-05-30
打赏
举报
回复
你的tnsnames.ora有问题
建议看一看同目录下的sqlnet.ora
里面应该有:
NAMES.DEFAULT_DOMAIN = XXX
tnsnames.ora格式如下:
ORADB.XXX =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xx.xx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SID = XXXX)
)
)
sky_lion
2001-05-30
打赏
举报
回复
to:handbread
我用network administration下的net8 assistant建了一个tnsnames.ora,内空为:# TNSNAMES.ORA Network Configuration File: D:\oracle\ora81\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORADB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wg)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
试了不行,把SERVICE_NAEM改为SID=oradb也不行。
sky_lion
2001-05-30
打赏
举报
回复
TO:HANDBREAD
我也是想先搞通ODBC再试JDBC
我用SQL/Plus 连 username/password@oradb 试了连不通
我的oracle是8.1.7版本的,为什么没找到TNSNAMES呀?
handbread
2001-05-30
打赏
举报
回复
我第一篇回复就是JDBC的方法
你还是先把ODBC搞通再试JDBC吧
sky_lion
2001-05-30
打赏
举报
回复
to:handbread
我没用过不清楚,怎么用呀?
你是怎么做的,用JDBC吗?
请多指教。
handbread
2001-05-30
打赏
举报
回复
既然用了JSP 为什么还死盯着ODBC不放呢
建议直接用JDBC
handbread
2001-05-30
打赏
举报
回复
既然用了JSP 为什么还死盯着ODBC不放呢
建议直接用JDBC
加载更多回复(7)
DREAMWEAVER动态网站制作
JSP
实习报告
DREAMWEAVER动态网站制作
JSP
实习报告
BEA portal精华贴
BEA portal精华贴
Jbuilder5_help_cn
Jbuilder5_help_cn(转载)
看韩剧www.pigkrtv.com
Java学习之路:不走弯路,就是捷径!!
Java学习之路:不走弯路,就是捷径!!
web项目
连接
oracle
数据库,
oracle
,web_项目
连接
Oracle
数据库报错,
oracle
,web,java - phpStudy...
项目
连接
Oracle
数据库报错要连的数据库是
oracle
11.2 项目是从SVN上check out的。我检查了class12.jar和ojdbc6.jar都已经添加到项目的引用里了,但是
连接
数据库时还是提示NullPointerException,这是后台的详细信息。各位大神,能否给小弟指点一二,是哪个环节出了
问题
。1.2013-9-25 16:44:17 org.apache.catalin...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章