Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > как реализовать хранимые процедуры


Автор: bars_uz 7.7.2007, 18:44
как реализовать хранимые процедуры на java+jdatastore?
Ато у меня никак не получается выдает ошибку: 
Syntax Error: [line 1, col 6] The method SETCOUNTRY could not be found. Check that the class is on the server class path and that the class contains a static method with the right number of parameters.

И стоит ли пользоваться компанетами Borland(JDataStore+DataExpress) 

Автор: LSD 8.7.2007, 11:08
1. Приведи код класса и код создания хранимой процедуры.

2. Они достаточно удобны и просты в обращении, и альтернатив им я не знаю. Если тебя устраивает их функциональность и не смущает, то что они платные - то пользуйся.

Автор: bars_uz 11.7.2007, 18:08
JDataStore Server
Код

package jdserver;

import com.borland.datastore.jdbc.DataStoreServer;

public class JDServer {
    DataStoreServer jdsServer = new DataStoreServer();
  ......
    private void ServerStart() throws Exception {
        jdsServer.setPort(2508);
        jdsServer.setReportConnectError(true);
        jdsServer.setReportConnect(true);
        jdsServer.start();
    }
}


Code StoredProcedures

Код

package jdserver;

import java.sql.*;

public class StoredProcedures {
    public static void Test(java.sql.Connection con) throws Exception {
        java.sql.Statement stmt = con.createStatement();
        stmt.executeQuery("INSERT INTO DEFAULT_SCHEMA.TEST1(S1,S2,S3) VALUES(1,'TEST',TRUE)");
    }
}


CREATE METHOD
Код

CREATE JAVA_METHOD TEST AS 'jdserver.StoredProcedures.Test';


и вызов процедуру
Код

Class.forName("com.borland.datastore.jdbc.DataStoreDriver");
        Connection c = DriverManager.getConnection("jdbc:borland:dsremote://192.168.0.6/C:/Java/java.jds", "sysdba", "masterkey");
        Statement s = c.createStatement();
        s.executeQuery("CALL TEST()");


Ошыбка
Код

com.borland.platform.datastore.driver.DriverException: Runtime Error: [line 1, col 6] Query didn't produce a resultset

Автор: batigoal 11.7.2007, 18:24
bars_uz, я что-то не понимаю логики твоих действий. Ты вызываешь из Java-кода хранимую в базе процедуру, которая тоже написана на Java, и при этом делает INSERT?

Автор: LSD 12.7.2007, 11:50
Почему executeQuery()? Исправь на  executeUpdate().

Автор: bars_uz 12.7.2007, 19:07
Цитата

batigoal
bars_uz, я что-то не понимаю логики твоих действий. Ты вызываешь из Java-кода хранимую в базе процедуру, которая тоже написана на Java, и при этом делает INSERT?


это реалезуется на JDataStore.  это  тестовый ....

Цитата

LSD
Почему executeQuery()? Исправь на  executeUpdate().


да кстати ты прав... сейчас  попробую

Автор: bars_uz 21.7.2007, 17:16
Народ спс я уже решил проблему

тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)