下面是我写的java存储过程的源码,但就是不能调用该存储过程,是不是有什么环境变量,或参数没有设置啊,还请大家提醒下java 文件:
--------------------------------------------
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class TestDB { public static void InsertDB(int id) throws Exception {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.2.220:1433;user=TEST;password=TEST",
"TEST","TEST");
Statement stmt = con.createStatement();
String sql = "insert into TEST(id,name) values(555,'xxxx')" ;
stmt.executeUpdate(sql);
stmt.close();
}
catch (Exception e)
{
System.err.println(e.getMessage());
}
}
}
--------------------------------------------
存储过程:
create or replace PROCEDURE InsertDB
IS language Java
name 'TestDB.InsertDB()';
/
---------------------------------------------
加载java文件编译后的文件:
loadjava -user TEST/TEST TestDB.class
---------------------------------------------
调用存储过程:
call InsertDB();
--------------------------------------------
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class TestDB { public static void InsertDB(int id) throws Exception {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://192.168.2.220:1433;user=TEST;password=TEST",
"TEST","TEST");
Statement stmt = con.createStatement();
String sql = "insert into TEST(id,name) values(555,'xxxx')" ;
stmt.executeUpdate(sql);
stmt.close();
}
catch (Exception e)
{
System.err.println(e.getMessage());
}
}
}
--------------------------------------------
存储过程:
create or replace PROCEDURE InsertDB
IS language Java
name 'TestDB.InsertDB()';
/
---------------------------------------------
加载java文件编译后的文件:
loadjava -user TEST/TEST TestDB.class
---------------------------------------------
调用存储过程:
call InsertDB();
在定义procedure 中没有包含参数。