powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Передача данных из одной базы данных в другую
2 сообщений из 2, страница 1 из 1
Передача данных из одной базы данных в другую
    #36009990
andy_buki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет и заранее благодарен за помощь.

У меня следующий вопрос:
Моя прорамма выполняет передачу данных между различными базами данных
Вот отдельный фрагмент.
--------------------------------------------------------
package org.tud;

import org.tud.dgbservice.propagation.DataReference;
import org.tud.dgbservice.propagation.PropagationBindingStub;
import org.tud.dgbservice.propagation.PropagtionServiceLocator;


public class TestWebService {

public TestWebService() {
}

public void inputDataPropagation() {
try {
PropagtionServiceLocator locator = new PropagtionServiceLocator();
PropagationBindingStub stub = (PropagationBindingStub)locator.getPropagationPort();

DataReference in = new DataReference();

in.setDbname("FIRST");
in.setHost("localhost");
in.setUser("db2admin");
in.setPort("50000");
in.setPassword("nata");
in.setTablename("EMP");
in.setType("DATABASE");
in.setVendor("DB2");


DataReference out = new DataReference();
out.setDbname("SECOND");
out.setHost("localhost");
out.setUser("db2admin");
out.setPassword("nata");
out.setPort("50000");
out.setTablename("EMP");
out.setType("DATABASE");
out.setVendor("DB2");
stub.execute(in, out);
}
catch(Exception e) {
e.printStackTrace();
}
}

public void outputDataPropagation() {
try {
PropagtionServiceLocator locator = new PropagtionServiceLocator();
PropagationBindingStub stub = (PropagationBindingStub)locator.getPropagationPort();

DataReference in = new DataReference();

in.setDbname("FIRST");
in.setHost("localhost");
in.setUser("db2admin");
in.setPort("50000");
in.setPassword("nata");
in.setTablename("EMP");
in.setType("DATABASE");
in.setVendor("DB2");


DataReference out = new DataReference();
out.setDbname("SECOND");
out.setHost("localhost");
out.setUser("db2admin");
out.setPassword("nata");
out.setPort("50000");
out.setTablename("EMP");
out.setType("DATABASE");
out.setVendor("DB2");
stub.execute(in, out);
}
catch(Exception e) {
e.printStackTrace();
}
}

public void pauseSet(){
try {
Thread.sleep(5000);
Thread t = Thread.currentThread();
t.start();

}
catch
(Exception e){
e.printStackTrace();
}

}
public void method() {
inputDataPropagation();
pauseSet();
outputDataPropagation();
}

/**
* @param args
*/
public static void main(String[] args) {
TestWebService test = new TestWebService();
test.method();

}

}
--------------------------------------------------------------------------
Вопрос мой в следующем:
Программа рабочая, на другом компе происходит передача, а
у меня вылезает следующая ошибка:
--------------------------------------------------------------------
09:16:37,648 INFO [STDOUT] Propagation Service: DATABASE | DATABASE
09:16:37,648 INFO [STDOUT] Propagation Service: database to database
09:16:58,411 INFO [STDOUT] Database2Database: target table exists!!!
09:16:58,411 ERROR [STDERR] org.pentaho.di.core.exception.KettleStepException:
Unable to get queryfields for SQL:
SELECT * FROM EMP

Couldn't get field info from [SELECT * FROM EMP]

DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.EMP
09:16:58,411 ERROR [STDERR] at org.pentaho.di.trans.steps.tableinput.TableInputMeta.getFields(TableInputMeta.java:263)
09:16:58,411 ERROR [STDERR] at org.pentaho.di.trans.TransMeta.getThisStepFields(TransMeta.java:1708)
09:16:58,411 ERROR [STDERR] at org.pentaho.di.trans.TransMeta.getStepFields(TransMeta.java:1563)
09:16:58,426 ERROR [STDERR] at org.pentaho.di.trans.TransMeta.getPrevStepFields(TransMeta.java:1611)
09:16:58,426 ERROR [STDERR] at org.pentaho.di.trans.TransMeta.getPrevStepFields(TransMeta.java:1585)
09:16:58,426 ERROR [STDERR] at org.pentaho.di.trans.TransMeta.getSQLStatements(TransMeta.java:4202)
------------------------------------------------------------------------------------
Мне кажется ошибка именно в конфигурации db2, потому что просто
показать данные о базе данных - все работает.

Спасибо за любые советы
Андрей
...
Рейтинг: 0 / 0
Передача данных из одной базы данных в другую
    #36010227
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.andy_buki
Unable to get queryfields for SQL:
SELECT * FROM EMP

Couldn't get field info from [SELECT * FROM EMP]

DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: DB2ADMIN.EMP
SQLCODE -204 - это значит, что нет такого объекта DB2ADMIN.EMP.
В db2 имена объектов состоят из 2-х частей: имя схемы и имя объекта.
Если имя схемы не указывается явно, то по-умолчанию оно берётся равным имени пользователя.
Вам надо либо как-то явно задавать имя схемы для таблицы EMP, либо входить в базу пользователем, в схеме которого есть эта таблица.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Передача данных из одной базы данных в другую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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