为什么jdbc中用oci连oracle会出错?(100分)

  • 主题发起人 主题发起人 zhjwjan
  • 开始时间 开始时间
Z

zhjwjan

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Jbuilder中用thin连接oracle没问题,但用oci连接Oracle时出现一下错误,请问是
怎么回事?
conn = DriverManager.getConnection("jdbc:oracle:oci8:@MYDB.WORLD", "user", "pwd");
java.lang.UnsatisfiedLinkError: make_c_state
at oracle.jdbc.oci7.OCIDBAccess.make_c_state(Native Method)
at oracle.jdbc.oci7.OCIDBAccess.logon(OCIDBAccess.java:148)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:103)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:148)
at java.sql.DriverManager.getConnection(DriverManager.java:517)
at java.sql.DriverManager.getConnection(DriverManager.java:177)
at test.Frame1.jbInit(Frame1.java:59)
at test.Frame1.<init>(Frame1.java:47)
at test.Application1.<init>(Application1.java:20)
at test.Application1.main(Application1.java:49)
 
没有人知道吗?
还有一个问题,答了给1半分:
我们用Jbuilder运行程序时,数据库驱动程序是已经被我们手工加到jbuilder里,但如果我们
把程序发布出去后,在一个没有Jbulider的环境下,怎么让程序找到数据库驱动程序呢?
 
in class path
oci连接,你在本地配置了SQL NET 8 assist吗?
 
已经在oracle net8 easy config里配置好了,但你说的oracle net8 assistant还要怎么配置?
我是新手,望多多赐教!谢谢
 
对不起,没说清楚。
和thin模式的jdbc驱动不同,OCI模式的jdbc驱动是需要本地oracle客户端配置好了才能够连接
server的。
比如说,你配置的jdbc:oracle:oci8:@MYDB.WORLD中,MYDB.WORLD是不是已经可以配置为
可以访问server了?你把WORLD去掉再try一下。
 
我的客户端里已配置好了mydb.world,而且在客户端中测试连接是成功的,我把world去掉再
运行程序,还是那个错误。怎么办?oci跟thin连接有什么不同吗?哪个好?
 
我从来没有使用过oci模式,因为我觉得还是thin好。
关于您的这个问题,需要查找Oracle的手册了。我手边暂时没有。
如果没有必需的要求,请还是使用Thin模式,thin模式是不需要客户端安装oracle Client的。
 
可能是oci的版本问题,你能确定你的oci驱动和数据库的版本一样吗?
 
oci驱动和数据库版本是否一样?我现在还不知道什么是oci。我就装好oracle8后,再装oracle
的jdbc驱动程序classes111.zip,装好后在jbuilder里添加,再用oci连接时就不行了。oci是数据库
自带的吗?
 
不同的oracle版本,他们的oci驱动好像有区别,我在用weblogic的时候就曾经碰到过
不同版本的oci无法访问数据库的情况。
http://www10.brinkster.com/zhaixin/bin.rar
是weblogic下面的不同版本的oci,你看对你有没有用!
 
先try一下classes12.zip取代classes111.zip
 
to zhai_xin: 无法下载啊
to 曹晓钢:哪里有classes12.zip下载?
 
classes12.zip,在你的Oracle安装目录的jdbc/lib里面。
 
不会呀,我可以下,那我给你发过去好了,你的mail?
 
to zhai_xin: 我的email: zhjwjan@163.net谢谢
to 曹晓钢: 不好意思,我的是oracle8.0.5,只有classes102和classes111
 
我这里没有805的,你用这些试试看吧,给你发了!
 
不好意思,这么迟才加分。曹晓钢,能留个email吗?我的是zhjwjan@163.net
 
多人接受答案了。
 
后退
顶部