powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / java stored procedure делает проблемы
1 сообщений из 1, страница 1 из 1
java stored procedure делает проблемы
    #33091427
ROleg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет
разбираюсь тут с stored procedure.
написал простую stored procedure (на ява) с помошью developer center , проверил в нем же . все работает. теперь
пытаюсь вызвать ее из клиентской апликации , и тут начинаются грабли:
ето код stored procedure

/**
* JDBC Stored Procedure DB2.PROCEDURE1
*/
package PACKPROCEDURE1;

import java.sql.*; // JDBC classes

public class PROCEDURE1
{
// public static void getValueBigger2 ( ResultSet[] rs1 ) throws SQLException, Exception
public static void procedure1 (String value ) throws SQLException, Exception
{
// Get connection to the database

Connection con = DriverManager.getConnection("jdbc:default:connection");
PreparedStatement stmt = null;
boolean bFlag;
String sql;

sql = "SELECT value FROM DB2.TESTSTOREDPROCEDURE WHERE ID=2";
stmt = con.prepareStatement( sql );
bFlag = stmt.execute();
ResultSet rs = stmt.getResultSet();
while( rs.next() )
{ // if data was returned
value = rs.getString( 1 );
break;

}
}
}



ето код клиента:

class jscall_Add_customer
{
public static void main(String argv[])
{
Connection con = null;
String url;
String procName = "";
CallableStatement callStmt;


try
{
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
///////////////////////////////////////
// connect
///////////////////////////////////////
System.out.println("Trying to connect...");
url = "jdbc:db2:WLDB";
String username = "db2";
String password = "db2";
con = DriverManager.getConnection(url,username, password);
con.setAutoCommit(false);
/////////////////////////////////////////////////
// prepare the call to the stored procedure
/////////////////////////////////////////////////

procName = "PACKPROCEDURE1.PROCEDURE1";
String sql = "CALL " + procName + "(?)";
callStmt = con.prepareCall(sql);
callStmt.registerOutParameter (1, Types.CHAR);
callStmt.execute();
String result = callStmt.getString(1);
System.out.println("result -->"+result);

}
catch (Exception e)
{
System.out.println("\nError loading DB2 Driver...\n");
e.printStackTrace();
}

}
}




получаю ошибку :

COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/NT] SQL0444N Routine "*ocedure1" (specific name "SQL050530155928460") is implemented with code in library or path "...procedure1", function "PACKPROCEDURE1.procedure1" which cannot be accessed. Reason code: "4". SQLSTATE=42724

at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(Unknown Source)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(Unknown Source)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.check_return_code(Unknown Source)
at COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute2(Unknown Source)
at COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute(Unknown Source)
at ACMEJNS.jscall_Add_customer.main(jscall_Add_customer.java:45)




в чем может быть проблема. работаю с db2 data base
заранее спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / java stored procedure делает проблемы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]