这句DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
它说oracle can not resolved to a type。
要怎么解决呢?这是存储过程
CREATE OR REPLACE PROCEDURE SHOWBIR(
V_ROW IN OUT NUMBER)
AS
CURSOR C_BIR IS SELECT * FROM BIR FOR UPDATE;
V_TMP BIR%ROWTYPE;
BEGIN
OPEN C_BIR;
LOOP
FETCH C_BIR INTO V_TMP;
EXIT WHEN C_BIR%NOTFOUND;
--EXIT WHEN V_ROW > 3;
V_ROW := V_ROW+1;
--DBMS_OUTPUT.PUT_LINE(V_TMP.NAME ||' '|| V_TMP.LEV);
IF V_TMP.LEV <= 1 THEN
UPDATE BIR SET LEV = 100 WHERE CURRENT OF C_BIR;
END IF;
END LOOP;
CLOSE C_BIR;
END;
java调用,202.116.17.140:1521:ORCL","SYSTEM","posa"分别是ip地址,posa是密码。import java.sql.* ;
import java.sql.ResultSet; public class TEST_UPDATE
{
public static void main(String args[]) throws Exception
{
// 加载Oracle驱动
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
// 获得Oracle数据库连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@202.116.17.140:1521:ORCL","SYSTEM","posa");
// 创建存储过程的对象
CallableStatement c = conn.prepareCall( " {call SHOWBIR(?)} " );
// 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成6
c.setInt( 1 , 6 );
// 执行Oracle存储过程
c.execute();
conn.close();
}
}
它说oracle can not resolved to a type。
要怎么解决呢?这是存储过程
CREATE OR REPLACE PROCEDURE SHOWBIR(
V_ROW IN OUT NUMBER)
AS
CURSOR C_BIR IS SELECT * FROM BIR FOR UPDATE;
V_TMP BIR%ROWTYPE;
BEGIN
OPEN C_BIR;
LOOP
FETCH C_BIR INTO V_TMP;
EXIT WHEN C_BIR%NOTFOUND;
--EXIT WHEN V_ROW > 3;
V_ROW := V_ROW+1;
--DBMS_OUTPUT.PUT_LINE(V_TMP.NAME ||' '|| V_TMP.LEV);
IF V_TMP.LEV <= 1 THEN
UPDATE BIR SET LEV = 100 WHERE CURRENT OF C_BIR;
END IF;
END LOOP;
CLOSE C_BIR;
END;
java调用,202.116.17.140:1521:ORCL","SYSTEM","posa"分别是ip地址,posa是密码。import java.sql.* ;
import java.sql.ResultSet; public class TEST_UPDATE
{
public static void main(String args[]) throws Exception
{
// 加载Oracle驱动
DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver());
// 获得Oracle数据库连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@202.116.17.140:1521:ORCL","SYSTEM","posa");
// 创建存储过程的对象
CallableStatement c = conn.prepareCall( " {call SHOWBIR(?)} " );
// 给Oracle存储过程的参数设置值 ,将第一个参数的值设置成6
c.setInt( 1 , 6 );
// 执行Oracle存储过程
c.execute();
conn.close();
}
}
如果你用dos运行,就把class12.jar的路径放到classpath中,比如你把class12.jar复制到d:\ora文件夹中,就把d:\ora\class12.jar放到classpath中
还是不行,还是提示oracle can not resolved to a type。
这句 提示oracle can not resolved to a type。
1、打开你的项目。
2、菜单Project->Properties->Java Build Path->Libaraies->Add External JARs...
3、找到oracle下的classes12.jar,增加进来就OK了。
---->add External JARs..
谢谢这么耐心啊,不过还是不行。
Multiple ers at this line
- oracle cannot be resolved to
a type
- Debug Current Instruction
Pointer
是导进classpath.lst吧,导进后这样
#
# this is the extra classpath used by integrator
#
# each classpath should be in the form of complete pathname
#
# For example:
# /emdRoot/sysman/jlib/emd.jar
# /emdRoot/lib/xmlparserv2.jar
#
F:\oracle\product\10.2.0\db_1\jdbc\lib\class12.jar
太感谢了,现在出现这样的东西。。
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at TEST_UPDATE.main(TEST_UPDATE.java:11)
不知道干嘛?
没有错误
还有就是你存储过程在你oracle的哪个用户下?密码是什么?
改完为Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1
:1521:ORCL","你存储过程创建在哪个用户","密码是什么?");就行了