怎么安装和使用oracle9i的oci 驱动?
如题
在linux和windows上装和使用有区别吗?
问题点数:50、回复次数:8Top
1 楼onion_dragon(炒饭)回复于 2003-09-02 16:23:00 得分 0
我的代码如下:
import java.sql.*;
import java.math.*;
import java.io.*;
import java.awt.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class OCIConnectionTest {
public OCIConnectionTest() {
}
public static void main (String args []) throws SQLException {
// Load Oracle driver
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
// Connect to the local database
Connection conn = DriverManager.getConnection
("jdbc:oracle:oci:@192.168.1.20:1521:ORCL", "pm_arison_it", "pm_arison_it");
// Query the employee names
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery("SELECT ACTIVITY_NAME FROM ACTIVITY");
// Print the name out
while (rset.next())
System.out.println(rset.getString(1));
//close the result set, statement, and the connection
rset.close();
stmt.close();
conn.close();
}
}
出现错误如下:
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci8.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci8.OCIDBAccess.logon(OCIDBAccess.java:309)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:287)
at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at test.jdbc.OCIConnectionTest.main(OCIConnectionTest.java:25)
Exception in thread "main"
这是驱动没有装对吗,还是……Top
2 楼treeClimber(我以我血荐轩辕)回复于 2003-09-02 19:08:32 得分 10
URL不对Top
3 楼yshen(深林物语)回复于 2003-09-02 19:36:19 得分 0
你是用Tomcat吗?oci 驱动?怎么不用JDBC驱动?
Oracle的JDBC驱动程序在Oracle客户端的安装目录下面有,是classes12.jar
如果是Tomcat,classes12.jar要放到tomcat安装目录下的
common\lib下面或者在你网页根目录下建一个lib目录,放到里面试试看。Top
4 楼onion_dragon(炒饭)回复于 2003-09-03 10:18:38 得分 0
treeClimber:
我如果用jdbc的话,把url改成(jdbc:oracle:thin:@192.168.1.20:1521:ORCL", "xxx","xxx")就可以用了,但换成上面的就不行了,是这种写发不对吗?还是我的驱动没有装对?
yshen:
我用的是jboss-3.2.0RC1_tomcat-4.1.18,jdbc方式的连接我是可以使用的,只是目前需要转换成oci的方式连接!Top
5 楼Mailbomb(网络咖啡http://blog.csdn.net/mailbomb)回复于 2003-09-03 10:31:53 得分 0
是不是你下的JDBC驱动和你当前的操作系统不符合?
猜测Top
6 楼wj_xd(闷葫芦)回复于 2003-09-03 10:35:16 得分 20
url=jdbc:oracle:oci:@server_sid
其中的server_sid是你用oracle组件net8配置的本地网络服务名,也就是说你机器上要先装上Oracle的net service组件。Top
7 楼crazyboy123(狂徒)回复于 2003-09-03 11:03:26 得分 20
使用Oracle提供的JDBC驱动连接Oracle数据库一般来说有两种方式
thin 和 oci 楼主提到的是第二种方式目前oci 又分oci7和oci8使用oci连接Oracle数据库其实是使用安装的oracle的客户端程序Net8 Configuration Assistant和数据库连接。在
Net8 Configuration Assistant中配置一个别名例如 ocitest 并测试和数据库连接成功
URL "jdbc:oracle:oci8:@ocitest.world"Top
8 楼onion_dragon(炒饭)回复于 2003-09-03 16:05:27 得分 0
谢谢各位的解答!我已经解决了!
闷葫芦和狂徒说的不错,我的本地net service配错了!
还有就是我用的数据库是oracle9.0.1的,但client装的却是9.0.2的,按理说9.0.2应向下兼容9.0.1,但它的oci却有问题。后来我又到oracle的网站上下载了一个9.0.1的oci包,并加到路径里就可以了!
唉,折腾死我了!Top




