⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 622907.xml

📁 论坛精华帖子
💻 XML
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<TopicId>622907</TopicId>
<TopicName>jdbc访问oracle问题</TopicName>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>15</ReplyNum>
<PostDateTime>2002-4-4 17:06:24</PostDateTime>
<Point>60</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>在jsp中利用jdbc访问oracle&#32;数据库时,出现下列问题,诚征解决办法:

环境:tomcat3.2+oracle&#32;jdbc+oracle8.1.5
CLASS_PATH设置:F:\Oracle\Ora81\jdbc\lib\classes111.zip;F:\Oracle\Ora81\jdbc\lib\nls_chaset11.zip
以上设置参照了F:\Oracle\Ora81\jdbc\readme.txt

使用tnsping和sqlplus访问均正确。

输出信息:
oracle8i.jdbc测试!
SQLException:SO&#32;Exception&#32;was&#32;generated&#32;SQLSite:null&#32;VendorError:0&#32;

源文件:
&lt;%@&#32;page&#32;contentType="text/html;charset=gb2312"&#32;%&gt;
&lt;%@page&#32;import="java.sql.*"%&gt;


&lt;%
&#32;&#32;out.println("oracle8i.jdbc测试!&lt;br&gt;");
&#32;&#32;try
&#32;&#32;{&#32;&#32;
&#32;&#32;&#32;&#32;&#32;//Class.forName("oracle.jdbc.Driver");
&#32;&#32;&#32;&#32;Class.forName("oracle.jdbc.driver.OracleDriver");
&#32;&#32;&#32;&#32;//DriverManager.registerDriver&#32;(new&#32;oracle.jdbc.driver.OracleDriver&#32;());
&#32;&#32;&#32;&#32;

&#32;&#32;&#32;}
&#32;&#32;catch(Exception&#32;e)
&#32;&#32;{
&#32;&#32;&#32;&#32;&#32;out.println("unable&#32;to&#32;load&#32;Driver.");&#32;
&#32;&#32;}
&#32;&#32;
&#32;&#32;String&#32;url="jdbc:oracle:thin:@oradb";
&#32;&#32;try
&#32;&#32;{&#32;&#32;
&#32;&#32;&#32;&#32;&#32;Connection&#32;conn=DriverManager.getConnection(url,"suyk","pennate");
&#32;&#32;&#32;&#32;&#32;conn.setAutoCommit(false);

&#32;&#32;&#32;&#32;&#32;//Statement&#32;stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
&#32;&#32;&#32;&#32;&#32;Statement&#32;stmt=conn.createStatement();
&#32;&#32;&#32;&#32;&#32;ResultSet&#32;rs=stmt.executeQuery("select&#32;id,name&#32;from&#32;class");
&#32;&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;&#32;out.println("&lt;table&#32;border=1&gt;");
&#32;&#32;&#32;&#32;&#32;while(rs.next())
&#32;&#32;&#32;&#32;&#32;{
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("&lt;tr&gt;&lt;td&gt;");
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println(rs.getString("id"));
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("&lt;/td&gt;");
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("&lt;td&gt;");
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.print(rs.getString("name"));
&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("&lt;/td&gt;&lt;/tr&gt;");
&#32;&#32;&#32;&#32;&#32;}
&#32;&#32;&#32;&#32;&#32;out.println("&lt;/table&gt;");
&#32;&#32;&#32;&#32;&#32;
&#32;&#32;&#32;&#32;&#32;rs.close();
&#32;&#32;&#32;&#32;&#32;stmt.close();
&#32;&#32;&#32;&#32;&#32;conn.close();
&#32;&#32;&#32;}
&#32;&#32;&#32;catch&#32;(SQLException&#32;e)
&#32;&#32;&#32;{&#32;&#32;&#32;out.println("SQLException:"+e.getMessage());
&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("SQLSite:"+e.getSQLState());
&#32;&#32;&#32;&#32;&#32;&#32;&#32;out.println("VendorError:"+e.getErrorCode());
&#32;&#32;&#32;}
&#32;&#32;
%&gt;

如改为url="jdbc:oracle:oci8:@oradb";
则错误如下:
java.lang.IllegalStateException:&#32;Response&#32;has&#32;already&#32;been&#32;committed
at&#32;org.apache.tomcat.core.HttpServletResponseFacade.sendError(HttpServletResponseFacade.java:157)
&#9;at&#32;org.apache.jasper.runtime.JspServlet.unknownException(JspServlet.java:299)
......
</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>zz</PostUserNickName>
<rank>五级(中级)</rank>
<ranknum>user5</ranknum>
<credit>95</credit>
<ReplyID>4113600</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>107094</PostUserId>
<PostUserName>zhu_liping</PostUserName>
<Point>0</Point>
<Content>classes111.zip换成classes12.zip吧,ORACLE网站有去下一个吧!</Content>
<PostDateTime>2002-4-4 18:33:38</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4120705</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>我下载了classes12zip&#32;错误依据
补充一下
用url="jdbc:oracle:thin:@192.168.12.54:1521:oradb"&#32;方式连接时错误如下
SQLException:Io&#32;异常:&#32;Connection&#32;refused(DESCRIPTION=(TMP=)(VSNNUM=135286784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))&#32;
快救命呀</Content>
<PostDateTime>2002-4-5 10:40:58</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4120791</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>我下载了classes12.zip错误依旧
补充一下:
我的java环境是jdk1.3
当用jdbc:oracle:thin:@192.168.12.54:1521:oradb方式连接时报错如下
SQLException:Io&#32;异常:&#32;Connection&#32;refused(DESCRIPTION=(TMP=)(VSNNUM=135286784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))</Content>
<PostDateTime>2002-4-5 10:45:44</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>zz</PostUserNickName>
<rank>五级(中级)</rank>
<ranknum>user5</ranknum>
<credit>95</credit>
<ReplyID>4122058</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>107094</PostUserId>
<PostUserName>zhu_liping</PostUserName>
<Point>10</Point>
<Content>String&#32;url="jdbc:oracle:thin:@192.168.12.54:1521:oradb";
con=DriverManager.getConnection(url,"user","passwd");</Content>
<PostDateTime>2002-4-5 11:43:34</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>liangxf</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>4124711</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>57535</PostUserId>
<PostUserName>liangxf0022</PostUserName>
<Point>0</Point>
<Content>同意zhu_liping(zz),obi8必须安装oracle的客户端,而且是8.1.5以上版本的。</Content>
<PostDateTime>2002-4-5 13:54:13</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>石冰</PostUserNickName>
<rank>四级(中级)</rank>
<ranknum>user4</ranknum>
<credit>100</credit>
<ReplyID>4125572</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>138921</PostUserId>
<PostUserName>icystone</PostUserName>
<Point>30</Point>
<Content>(ERR=12505)無效的SID.注意1251後面加的是SID爾不是數據庫的名字

</Content>
<PostDateTime>2002-4-5 14:39:51</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>别问我是谁</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>4137100</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>198516</PostUserId>
<PostUserName>jinfanzi</PostUserName>
<Point>0</Point>
<Content>你需要将classes111.zip或classes12.zip解压后,将其中的oracle文件夹copy到你的web服务器下的相应路径下(如/weblogic/classes/),并在classpath中注册,如:d:/weblogic/classes;</Content>
<PostDateTime>2002-4-6 13:58:55</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4155742</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>用jdbc:oracle:thin:@192.168.12.54:1521:oradb方式可以解决此问题
原来是我记错了SID
用classes111.zip和classes12.zip都可以
好象classes111.zip只支持jdbc1.0
classes12.zip支持jdbc2.0

但是最初用jdbc:oracle:thin@oradb为何不行呢
tnsping&#32;oradb
sqlplus&#32;oradb
都可以呀
</Content>
<PostDateTime>2002-4-8 9:56:26</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>笨笨</PostUserNickName>
<rank>两星(中级)</rank>
<ranknum>star2</ranknum>
<credit>120</credit>
<ReplyID>4157968</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>115764</PostUserId>
<PostUserName>yanchang</PostUserName>
<Point>0</Point>
<Content>是的classes111.zip只支持jdbc1.0

jdbc:oracle:thin:@192.168.12.54:1521:oradb

是规定的URL格式啊</Content>
<PostDateTime>2002-4-8 12:48:56</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>飞鸽</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>97</credit>
<ReplyID>4159411</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>74621</PostUserId>
<PostUserName>fgcsh</PostUserName>
<Point>0</Point>
<Content>classes12.zip支持jdbc2.0
那我为什么不能使用游标?</Content>
<PostDateTime>2002-4-8 14:00:12</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>微电--有狼的气质&#32;没狼的勇气&#32;真郁闷</PostUserNickName>
<rank>一星(中级)</rank>
<ranknum>star1</ranknum>
<credit>98</credit>
<ReplyID>4159850</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>109064</PostUserId>
<PostUserName>xmvigour</PostUserName>
<Point>0</Point>
<Content>classes12.zip是oci格式的</Content>
<PostDateTime>2002-4-8 14:22:36</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4161224</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>回yanchang(笨笨)&#32;
jdbc:oracle:thin:@192.168.12.54:1521:oradb
方式将连接绑定到固定的IP地址或主机名上,如果发生IP地址或主机名变更的情况会增加系统移植的复杂性。在这方面oracle提供了很好的解决办法:
别名服务:
1在web服务器做oracle服务的别名。ip,port,sid包含在web服务器的[ORACLE_HOME]的TnsNames.ora文件中
2。命名服务:在命名服务器上将服务映射为url如aa.test.com
当发生IP地址或主机名变更时,调整服务别名或命名服务设置即可。是一种比较灵活的解决方案。
不知Jsp环境下怎么却实现不了。
jdbc:oracle:thin:@192.168.12.54:1521:oradb
是一种最原始的处理办法,暴露了DB服务的地址。希望大家积极发言

</Content>
<PostDateTime>2002-4-8 15:30:23</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>微电--有狼的气质&#32;没狼的勇气&#32;真郁闷</PostUserNickName>
<rank>一星(中级)</rank>
<ranknum>star1</ranknum>
<credit>98</credit>
<ReplyID>4162217</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>109064</PostUserId>
<PostUserName>xmvigour</PostUserName>
<Point>20</Point>
<Content>jdbc:oracle:thin:@192.168.12.54:1521:oradb
方式将连接绑定到固定的IP地址或主机名上,如果发生IP地址或主机名变更的情况会增加系统移植的复杂性。

用一db.properties来存储ip,port,sid,如果系统变化,改动该db.properties文件即可!</Content>
<PostDateTime>2002-4-8 16:20:49</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4190289</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>xmvigour(微电)&#32;能否给个例子</Content>
<PostDateTime>2002-4-10 13:12:59</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>pennate</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4287023</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>11304</PostUserId>
<PostUserName>pennate</PostUserName>
<Point>0</Point>
<Content>好象没人来了。散分。。。。
论功行赏,决不失言</Content>
<PostDateTime>2002-4-16 15:33:21</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>tomato</PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>100</credit>
<ReplyID>5124523</ReplyID>
<TopicID>622907</TopicID>
<PostUserId>183957</PostUserId>
<PostUserName>tr100</PostUserName>
<Point>0</Point>
<Content>为什么我这样设也不对呢
环境:tomcat3.2+oracle&#32;jdbc+oracle8.1.5
CLASS_PATH设置:F:\Oracle\Ora81\jdbc\lib\classes111.zip;F:\Oracle\Ora81\jdbc\lib\nls_chaset11.zip
还是
Package&#32;oracle.jdbc.driver&#32;not&#32;found&#32;in&#32;import.
</Content>
<PostDateTime>2002-6-8 13:33:09</PostDateTime>
</Reply>
</Replys>
</Topic>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -