首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 读取数据库连接配置文件 [已结贴,结贴人:my145794]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • my145794
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-18 21:20:06 楼主
    java.lang.NullPointerException 怎么回事?高手
    public class XczyDao {
    private Connection con = null;
    private String url;//数据库URL
    private String username;//登录数据库用户名
    private String password;//用户密码
    private String driverClassName;//用户密码
    /**
      * 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
      * 会把建立数据库的连接作为一个单独的方法。
      */
    public void initConnection()throws Exception{
      getProperty();
    try
      {
    Class.forName("driverClassName");
        con = DriverManager.getConnection(url, username, password);
      }
      catch(SQLException e) {}
       
      }

    /**
      * 读取属性配置文件
      */
    private void getProperty()
    {
      Properties prop = new Properties();
      try
      {
      InputStream in = this.getClass().getResourceAsStream("/Config.properties");
      prop.load(in);
      driverClassName = prop.getProperty("driverClassName");
      url = prop.getProperty("url");
      username = prop.getProperty("username");
      password = prop.getProperty("password"); 
      }
      catch(IOException e)
      {
      e.printStackTrace();
      }
    }
    Config.properties
    driverClassName=oracle.jdbc.driver.OracleDriver 
      url=jdbc:oracle:thin:@10.224.3.52:1521:ora9i2
      username=yz
      password=yz
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • blank_java
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 23:08:261楼 得分:3
    Class.forName("driverClassName");
    这里的driverClassName应该是一个变量名吧,
    把引号去掉。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhengguangyi130
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-18 23:30:322楼 得分:3
    Java code
    Enumeration propNames = props.propertyNames(); while (propNames.hasMoreElements()) { driverClassName = prop.getProperty("driverClassName"); url = prop.getProperty("url"); username = prop.getProperty("username"); password = prop.getProperty("password");



    试试...吧..不行继续百度..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • my145794
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 12:01:373楼 得分:0
    java.lang.NullPointerException 怎么回事?高手
    public class XczyDao {
    private Connection con = null;
    private String url;//数据库URL
    private String username;//登录数据库用户名
    private String password;//用户密码
    private String driverClassName;//驱动
    /**
      * 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
      * 会把建立数据库的连接作为一个单独的方法。
      */
    public void initConnection()throws Exception{
      getProperty();
    try
      {
    Class.forName(driverClassName);
        con = DriverManager.getConnection(url, username, password);
      }
      catch(SQLException e) {}
       
      }

    /**
      * 读取属性配置文件
      */
    private void getProperty()
    {
      Properties prop = new Properties();
      try
      {
      InputStream in = this.getClass().getResourceAsStream("/Config.properties");
      prop.load(in);
      driverClassName = prop.getProperty("driverClassName");
      url = prop.getProperty("url");
      username = prop.getProperty("username");
      password = prop.getProperty("password"); 
      }
      catch(IOException e)
      {
      e.printStackTrace();
      }
    }
    Config.properties
    driverClassName=oracle.jdbc.driver.OracleDriver 
      url=jdbc:oracle:thin:@10.224.3.52:1521:ora9i2
      username=yz
      password=yz
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yyliuyang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 12:01:514楼 得分:11
    增加此语句试试driverClassName="oracle.jdbc.driver.OracleDriver";
    不行的话写一个连接Oracle的JSP程序test.jsp试试看,这样可以保证你完全搞懂jsp是如何连接oracle的。
    1、连入SQL*Plus
    以system/manager用户登录,
    SQL> conn system/manager
    创建新的用户:如user1/pass1,赋予connect,resource权限。
    SQL> grant connect,resource to user1 identified by pass1;
    SQL> conn user1/pass1
    SQL> create table test(a number,b char(10));
    SQL> insert into test values(1,\"一\");
    SQL> insert into test values(2,\"二\");
    SQL> insert into test values(3,\"三\");
    SQL> commit;
    SQL> select * from test;

    A B
    ---------- ----------
    1 一
    2 二
    3 三
    2、配置ODBC(在服务器端设置)
    开始->设置->控制面板->管理工具->数据源 (ODBC)->系统DSN->添加->
    选择“Oracle ODBC Driver”->完成->
    Data Source Name:test名字随便取,好记就行,如:test
    Service Name:oradb Oracle数据库的实例名,本例:oradb,一般Oracle默认安装为ORCL
    UserID:user1 Oracle用户名,本例:user1
    按“OK”->按“确定”退出

    3、在C:\JBuilder4\tomcat\webapps\test下创建test.jsp,用notebook编辑,输入以下代码
    <!--首先导入一些必要的packages-->
    <%@ page info=\"database handler\"%>
    <%@ page import=\"java.io.*\"%>
    <%@ page import=\"java.util.*\"%>
    <!--告诉编译器使用SQL包-->
    <%@ page import=\"java.sql.*\"%>
    <%@ page import=\"javax.servlet.*\"%>
    <%@ page import=\"javax.servlet.http.*\"%>
    网管网www.bitscn.com
    <%
    //以try开始
    try
    {
    Connection con;
    Statement stmt;
    ResultSet rs;
    //加载驱动程序,下面的代码为加载JDBD-ODBC驱动程序
    Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");
    //用适当的驱动程序连接到数据库,test\"是系统dsn名
    String url=\"jdbc:odbc:test\";
    //建立连接,类似于ASP中的创建数据库联接
    con=DriverManager.getConnection(url, \"user1\", \"pass1\");
    //创建一个JDBC声明
    stmt = con.createStatement();
    //增加新记录
    stmt.executeUpdate(\"INSERT INTO test (a,b) VALUES (1,\"2\")\");
    //查询记录
    rs = stmt.executeQuery(\"SELECT a,b from test\");
    //输出查询结果
    out.println(\" <table border=1 width=400>\");
    while (rs.next())
    {
    String col1 = rs.getString(1);
    String col2 = rs.getString(2);
    //打印所显示的数据
    out.println(\" <tr> <td>\"+col1+\" </td> <td>\"+col2+\" </td> </tr>\"); 网管联盟bitsCN_com
    }
    out.println(\" </table>\");
    }
    //如果加载时出错,给出相应的错误信息
    catch (Exception e) {}
    %>
    4、打开一个浏览器窗口,输入以下地址来查看运行结果
    http://localhost:8080/test/test.jsp
    转自www.bitsCN.com
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • popyy0101
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 16:11:115楼 得分:0
      给个出错的详细堆栈信息吧
      另外检查一下连接数据库的包是否放在指定位置
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangkai08111
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 19:51:186楼 得分:0
    空指针,觉得没读到内容。
    别的没看出来。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangkai08111
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 19:51:517楼 得分:0
    应该把错误代码贴上。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wrong1111
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 20:58:478楼 得分:3
    看出现的错误是空指针....

    如果是少驱动包的话,会报SQLEXCETION.
    估计是下面这里出现空的情况.....


    InputStream in = this.getClass().getResourceAsStream("/Config.properties");
      prop.load(in);

    具体还要把详细错误代码
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • welcom20080808
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:02:129楼 得分:0
    空指针异常.你试着跟踪查找错误.看到底执行到哪儿出现的问题.
    有可能是你的数据库没有连上.
    你把private改成public试试看.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhuyx808
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-20 15:27:3410楼 得分:0
    把错误信息完全贴上来啊
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved