免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖

求教jsp连接oracle的问题 [复制链接]

论坛徽章:
0
发表于 2006-03-08 09:03 |显示全部楼层
我建议你有一下eclipse ,他有一个插件SQLexplor,这个插件通过配置可以在eclipse中连接数据库,显示数据库的结构,同时还可以执行sql语句,而配置过程就是jdbc的那些参数,如果插件配置成功,本身就说明你的参数是正确的,所以就可以放心的在jsp中使用了,如果配置不成功它显示的提示信息也比较明确。我用它连接过orcal /mysql/postgreSQL

论坛徽章:
0
发表于 2006-03-08 09:50 |显示全部楼层
下面这段代码

  1. //package myPackage.dbConn;
  2. import java.sql.*;
  3. import java.io.*;
  4. import java.lang.*;
  5. import oracle.jdbc.driver.OracleDriver;

  6. public class dbConn {
  7.     String url = "";
  8.     String user="";
  9.     String password="";
  10.     public static void main(String arg[])
  11.     {
  12.         dbConn dbc = new dbConn();
  13.         dbc.setUrl("localhost","1521","xxytest");
  14.         dbc.setUser("tigertest","tigertest");
  15.         dbc.getConn();
  16.     }
  17.     public void setUrl(String sIP,String sDk,String sSid)
  18.     {
  19.         this.url = "jdbc:oracle:thin:@" + sIP + ":" + sDk + ":" + sSid;
  20.     }
  21.     public void setUser(String sUser,String sPassword)
  22.     {
  23.         this.user = sUser;
  24.         this.password = sPassword;
  25.     }
  26.     public java.sql.Connection getConn()
  27.     {
  28.        try
  29.        {
  30.            Class.forName("oracle.jdbc.driver.OracleDriver");
  31.            //conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.6.21:1521:ee300","tigertest","tigertest");
  32.            conn = DriverManager.getConnection(url,user,password);
  33.        }
  34.        catch(Exception e)
  35.        {
  36.            e.printStackTrace();
  37.        }
  38.        return this.conn ;
  39.     }
  40. }
复制代码

我如果通过setUrl()和setUser()方法得到url、user、password,然后在getConn()里面调用就报上面说的那个io异常的错误,可是我如果在getConn()方法中写成“DriverManager.getConnection("jdbc:oracle:thin:@192.168.6.21:1521:ee300","tigertest","tigertest");”就可以正常连接数据库,请问这是什么原因造成的?

论坛徽章:
0
发表于 2006-03-08 10:16 |显示全部楼层
将这三个域变量声明   String url = "";                   改为    String url=null;                         试一下!
                              String user="";                            String user=null;
                              String password="";                    String password=null;

论坛徽章:
0
发表于 2006-03-08 10:18 |显示全部楼层
又作了一个实验,getConn()方法中只有url需要写成“jdbc:oracle:thin:@192.168.6.21:1521:ee300”,user和password都可以写形参。

论坛徽章:
0
发表于 2006-03-08 10:30 |显示全部楼层
原帖由 simpleboy 于 2006-3-8 10:16 发表
将这三个域变量声明   String url = "";                   改为    String url=null;                         试一下!
                              String user="";                  ...



还是不行

论坛徽章:
0
发表于 2006-03-08 11:07 |显示全部楼层
原帖由 kakasi 于 2006-3-7 18:37 发表
耐心调试一下吧,问题到这了我这个远程就帮不上忙了

你就直接测试这个

try
       {
       Class.forName("oracle.jdbc.driver.OracleDriver " ) ;
       conn = DriverManager.getConnection("url","user","password");
       }
       catch(Exception e)
       {
          e.printStackTrace();
       }


rs

论坛徽章:
0
发表于 2006-03-08 11:07 |显示全部楼层
dbc.setUrl("localhost","1521","xxytest";
       dbc.setUser("tigertest","tigertest";

DriverManager.getConnection("jdbcracle:thin192.168.6.21:1521:ee300","tigertest","tigertest";
你是不是写错了,怎么setUrl()最后一个参数是 xxxtest 而 直接连接时用的是 ee300。仔细检查一下吧

论坛徽章:
0
发表于 2006-03-08 13:57 |显示全部楼层
原帖由 kakasi 于 2006-3-8 11:07 发表


rs



多谢这两天的帮助,我在好好试试。可是这段代码应该从哪入手呢?以我的水平已经看不出问题了

论坛徽章:
0
发表于 2006-03-08 13:58 |显示全部楼层
原帖由 simpleboy 于 2006-3-8 11:07 发表
dbc.setUrl("localhost","1521","xxytest";
       dbc.setUser("tigertest","tigertest";

DriverManager.getConnection("jdbcracle:thin192. ...



那是两个不同的sid,都是可以用的。调试的时候两个都试验了

论坛徽章:
0
发表于 2006-03-08 14:12 |显示全部楼层
奇怪了,还真是47楼那位大侠说的那个原因。如果sid用ee300就可以连上,如果用xxytest就报io错误。
但是现在我不明白的是这两个都是在oracle里面可以正常使用的sid,为什么到了java里面就有差别了呢?这个差别又在哪,是什么呢?
请哪位大侠帮小弟解惑
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP