Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Передача данных из одной базы данных в другую
|
|||
|---|---|---|---|
|
#18+
Всем привет и заранее благодарен за помощь. У меня следующий вопрос: Моя прорамма выполняет передачу данных между различными базами данных Вот отдельный фрагмент. -------------------------------------------------------- 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, потому что просто показать данные о базе данных - все работает. Спасибо за любые советы Андрей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 11:24 |
|
||
|
Передача данных из одной базы данных в другую
|
|||
|---|---|---|---|
|
#18+
Добрый день.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, либо входить в базу пользователем, в схеме которого есть эта таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2009, 12:28 |
|
||
|
|

start [/forum/topic.php?fid=43&fpage=79&tid=1603235]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 305ms |
| total: | 440ms |

| 0 / 0 |
