高分求解,急!!!Java连接Oracle10g 问题 java.sql.SQLException: 无法从套接字读取更多的数据

Oracle在Linux服务器上,开发环境是windowsXP,试过升级jdbc的jar,无效,已经头疼到想杀人了,郁闷死了。下面是程序代码:/**Oracle数据库连接... Oracle在Linux服务器上,开发环境是windows XP,试过升级jdbc的jar,无效,已经头疼到想杀人了,郁闷死了。
下面是程序代码:
/** Oracle数据库连接URL */
private final static String Oracle_URL = "jdbc:oracle:thin:@192.168.1.4:1521:orcl";
/** Oracle数据库连接驱动 */
private final static String Oracle_DRIVER = "oracle.jdbc.driver.OracleDriver";
/** 数据库用户名 */
private final static String Oracle_USERNAME = "map";
/** 数据库密码 */
private final static String Oracle_PASSWORD = "admin";

public static void main(String[] args) throws SQLException {

try {
Class.forName(Oracle_DRIVER);
Connection conn = DriverManager.getConnection(Oracle_URL,
Oracle_USERNAME, Oracle_PASSWORD);
System.out.println("good");
} catch (Exception e) {
System.out.println("连接失败!");
e.printStackTrace();
}
}
下面是错误信息
java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:207)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1117)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1069)
at oracle.jdbc.driver.T4C8TTIpro.receive(T4C8TTIpro.java:130)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:866)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:267)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Oracletest3.main(Oracletest3.java:18)
展开
 我来答
SkyerTu
2010-09-03 · TA获得超过1822个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:1182万
展开全部
这个问题很诡异的。
首先,确保你所用的oracle驱动(ojdbc14.jar)与Oracle服务器的版本一致。
并确保开发环境能够访问到数据库服务器(不会被防火墙拦住,必要时关了防火墙试试)。

还有问题的话,得查Oracle服务器上的日志了,如alert_SID.log,请你们的DBA帮忙看看。
网上也有说是游标不足的原因:
SELECT v.name, v.value value FROM V$PARAMETER v WHERE name = 'open_cursors'
如果value小于300 就用下面的语句增大就行
alter system set open_cursors = 10000

代码应该没有问题,主要得查数据库那边了。
隐匿踪迹
2010-09-02 · TA获得超过387个赞
知道小有建树答主
回答量:188
采纳率:0%
帮助的人:187万
展开全部
检查一下jar包是否导入,数据库名,用户名和密码是否正确
这个代码我运行是正确的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
存在论六号球D3
2010-09-02 · 超过22用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
1 先看看Linux服务器上的oracle的服务开了没?正常需要两个服务 一个是listener的监听服务 另一个是你的叫做orcl的实例服务(用plsql先测试可以访问不)

2 证明上述正常了,再确认java需要的oracle的驱动jar包是不是全放进去了,而且是被配置到路径里了

3 进一步确认你上面的用户名密码的正确与否

按照这个来应该可以测出问题在哪 细心点 加油
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cjl19890207
2010-09-03 · TA获得超过228个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:149万
展开全部
在十八行出了错!你看下odbc里连接了没,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoling5232
2010-09-02
知道答主
回答量:13
采纳率:0%
帮助的人:0
展开全部
你导入orcale 的驱动了吗??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式