Oracle连接的简单问题,在线等待!

xuchunqiang 2003-09-29 11:33:30
下面是ORACLE8i附带的一个JDBC的简单例子,SID等我已改成自己的。
但编译时却说找不到OracleDriver这个东东,该怎么办?
另外Oracle的驱动还有一种thin,到底是什么玩艺??它们之间有何区别?

import java.sql.*;

class A
{
public static void main (String args [])
throws SQLException
{
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

String url = "jdbc:oracle:XCQ:@";
try {
String url1 = System.getProperty("JDBC_URL");
if (url1 != null)
url = url1;
} catch (Exception e) {
// If there is any security exception, ignore it
// and use the default
}

// Connect to the database
Connection conn =
DriverManager.getConnection (url, "Robin", "robin");

// Create a Statement
Statement stmt = conn.createStatement ();

// Select the ENAME column from the EMP table
ResultSet rset = stmt.executeQuery ("select * from TEST_DB1");

// Iterate through the result and print the employee names
while (rset.next ())
System.out.println (rset.getString (1));

// Close the RseultSet
rset.close();

// Close the Statement
stmt.close();

// Close the connection
conn.close();
}
}
...全文
95 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuchunqiang 2003-10-08
  • 打赏
  • 举报
回复
可以了,原来并不是什么驱动的问题,只要把ClassNotFoundException也throws或Catch就可以了,另外直接连的话 我自做聪明把
String url = "jdbc:oracle:oci8:@";改成
String url = "jdbc:oracle:XCQ:@";
用前一个就可以了。
谢谢大家!!

pleonheart 2003-10-01
  • 打赏
  • 举报
回复
赶紧学习
xuchunqiang 2003-09-30
  • 打赏
  • 举报
回复
已经加了,如下:
D:\jdk1.3\lib;D:\oracle\ora81\jdbc\lib\classes12.zip
是否有问题呢?
cootme2002 2003-09-30
  • 打赏
  • 举报
回复
不错,这思想可以!
percy620515 2003-09-30
  • 打赏
  • 举报
回复
在上面因为下班了写得有些凌乱,现重新解释一下:
连接属性文件:connDatabase.properties
# Database Drivers:
sOracleDBDriver = oracle.jdbc.driver.OracleDriver
# Database Connection URL:
sOracleConnStr = jdbc:oracle:thin:@IP:1521:database
# Database Login Useranme:
oracleLogin =
# Database Login Password:
oraclePassword =

类中的初始化方法:init()
private Properties init(){
Properties properties = new Properties();
try{
java.io.InputStream inputstream = getClass().getResourceAsStream ("connDatabase.properties");
properties.load(inputstream);
}
catch(Exception exception){
throw new RuntimeException("读资源文件出错" + exception.getMessage());
}
return properties;
}

//Oracle 数据库连接方法;
public java.sql.Connection(){
String oracleLogin;
String oraclePassword;
String sOracleDBDriver;
String sOracleConnStr;
Properties properties=init();
sOracleDBDriver = properties.getProperty("sOracleDBDriver");
sOracleConnStr = properties.getProperty("sOracleConnStr");
oracleLogin = properties.getProperty("oracleLogin");
oraclePassword = properties.getProperty("oraclePassword");
try{
Class.forName(sOracleDBDriver).newInstance();
conn = DriverManager.getConnection(sOracleConnStr, oracleLogin, oraclePassword);
}
catch(Exception exception1){
exception1.printStackTrace();
}
}


percy620515 2003-09-30
  • 打赏
  • 举报
回复
注意:oracle链接时需要把classes12.zip放到classpath中

# Database Drivers:
sOracleDBDriver = oracle.jdbc.driver.OracleDriver
# Database Connection URL:
sOracleConnStr = jdbc:oracle:thin:@IP:1521:database

# Database Login Useranme:
oracleLogin =

# Database Login Password:
oraclePassword = wellable

private Properties init(){
Properties properties = new Properties();
try{
java.io.InputStream inputstream = getClass().getResourceAsStream("connDatabase.properties");
properties.load(inputstream);
}
catch(Exception exception){
throw new RuntimeException("读资源文件出错" + exception.getMessage());
}
return properties;
}

String oracleLogin;
String oraclePassword;
String sOracleDBDriver;
String sOracleConnStr;
//Oracle 数据库连接
Properties properties=init();
sOracleDBDriver = properties.getProperty("sOracleDBDriver");
sOracleConnStr = properties.getProperty("sOracleConnStr");
oracleLogin = properties.getProperty("oracleLogin");
oraclePassword = properties.getProperty("oraclePassword");
try{
Class.forName(sOracleDBDriver).newInstance();
conn = DriverManager.getConnection(sOracleConnStr, oracleLogin, oraclePassword);

}
catch(Exception exception1){
exception1.printStackTrace();
}
这样我想应是可以的,希望对你有所帮助!
xuchunqiang 2003-09-30
  • 打赏
  • 举报
回复
UP,没有人遇到同样的问题吗?
xuchunqiang 2003-09-29
  • 打赏
  • 举报
回复
还是不懂,各位大哥能否讲得详细一点?
zihuilegend(子辉)(愚昧无知)所说的好像是在JBUILDER之类的环境下的吧,我现在用文本写。另外我也将classes12.zip加入classPath中并重启了,但还是不行,“在程序中写入引用路径”指什么?
我所给的例子是OCI模式的吗?
richiewong 2003-09-29
  • 打赏
  • 举报
回复
thin一般是自己测试用
开发系统要用到连接池就要用oci模式
zihuilegend 2003-09-29
  • 打赏
  • 举报
回复
有了ORACLE的驱动包classes12.zip
两种方法:
1、把ORACLE数据库的驱动程序放到[工程属性]->[需要类库]中
2、打开[Tools]->[Configure JDKs],在class中添加该驱动程序
然后在程序中写入引用路径就可以了
ChDw 2003-09-29
  • 打赏
  • 举报
回复
你在classpath中加上oracle的包classes12.zip才行的

thin是另外一种连接方式啦(就是URL的一点点不同,如jdbc:oracle:thin:?????)
实际使用没有太大区别,但是thin的好处是不需要安装oracle客户端
chenqirui 2003-09-29
  • 打赏
  • 举报
回复
在我的电脑-高级 - 环境变量里面 path 里面加上你的 classes12.zip的路径
xuchunqiang 2003-09-29
  • 打赏
  • 举报
回复
还是不行,下面一句就是有错
Class.forName("oracle.jdbc.driver.OracleDriver");
说没有发现forName这个类
noratong 2003-09-29
  • 打赏
  • 举报
回复
把classes12文件放到你的jdk的jre/lib/ext目录下运行试试,应该可以,这样不用设置环境变量了。
xuchunqiang 2003-09-29
  • 打赏
  • 举报
回复
UPUP
xuchunqiang 2003-09-29
  • 打赏
  • 举报
回复
我在JCreator中加载了classes12.zip,通过了,但运行时出错(URL问题)
我如果URL改成"jdbc:oracle:thin:@127.0.0.1:1521:XCQ";后,就可以了,但不知道用JDBC直连为什么还是不行?
另外连接ORACLE也要像SQLSERVER中那样启动服务器吧?是哪个?
所说的THIN不需要客户端是什么意思?
teaky2002 2003-09-29
  • 打赏
  • 举报
回复
需要oracle的驱动包,在tomcat中带有。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧