JDBC连接数据库的connection对象为空的问题
不知道是不是数据库的问题,我一样的代码,改下ip连接别人的可以取得数据,别人连我的数据库也是能连上,但是建立的connection对象都为空
package com.jj.sx5.dao.connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.jj.sx5.utl.ConfigManager;
/**
* 功能:只完成与数据库的连接
*
* @author Administrator
*
*/
public class MyConnection {
//封装一个connection对象
public static Connection connection;
//指定数据库用户的帐号
private static String user = ConfigManager.getInstance().getValue("username");
//指定数据库用户的密码
private static String password = ConfigManager.getInstance().getValue("password");
//指定url
private static String url = ConfigManager.getInstance().getValue("url");
//指定一个数据库驱动
private static String dbDriver = ConfigManager.getInstance().getValue("dbDriver");
public static Connection getConnection(){
try{
//实例化驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//通过DriverManager对象创建connection
connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.106:1521:XE","TestAdmin","TestAdmin");
}catch(Exception e){
//错误信息
// System.out.print(e.getMessage());
e.printStackTrace();
}
return connection;
}
public static void closeConnection(){
if(connection != null){
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
--------------------编程问答--------------------
这是报错信息 --------------------编程问答-------------------- 连你的用127.0.0.1这个ip --------------------编程问答-------------------- 试过了,不行,就是连接数据库没问题,但是 取不出来数据,connection对象为空 --------------------编程问答-------------------- 是不是connection连接数据库字符串顺序问题? --------------------编程问答-------------------- jdbc版本不同对应这个字符串是不是不同额,当时我用SQLServer时就有这个问题 --------------------编程问答-------------------- 先将地址用plsql工具看看能否连接上 --------------------编程问答-------------------- public static Connection connection;
也是用的static --------------------编程问答-------------------- 你搞个单利模式,如果connection==null的时候,就做你现在做的这段,否则直接返回 --------------------编程问答-------------------- public static Connection connection;改成Connection connection = null; --------------------编程问答-------------------- 按照6楼方法,先通过pl/sql developer客户端连接数据库,保证数据库连接没有问题,再回来检查代码。 --------------------编程问答-------------------- connection = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.106:1521:XE","TestAdmin","TestAdmin");
后面两个参数是?虽然不知道你的DriverManager事怎么写的
一般不应该是传你的 user 和 password --------------------编程问答-------------------- 既然能取到数据,跟连数据库无关了吧,你主函数是怎么调用这两个方法的? --------------------编程问答-------------------- DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.106:1521:XE",username,password);我觉得也是 --------------------编程问答-------------------- 感觉就是楼上 用户名 密码 改下!!! --------------------编程问答-------------------- <!-- Oracle jdbc:oracle:oci:@tnsname_devdb
06
<entry key="jdbc.url">jdbc:oracle:thin:@192.168.0.177:1521:[sid]</entry>
07
<entry key="jdbc.driver">oracle.jdbc.driver.OracleDriver</entry>
08
--> --------------------编程问答-------------------- 你是能连上但是取不出数据,然后连接别人的就能取到数据??是select语句的使用查数据么,你的那个TestDAO22行,是你写的具体方法语句吧,我觉得应该是语句没有写全造成的,能连上,但是不执行sql,是这个原因么
补充:Java , Eclipse