Невозможно соединиться с резервной копией базы данных derby, используя Netbeans или ij - PullRequest
1 голос
/ 01 апреля 2019

Я регулярно создаю резервную копию базы данных derby, которая находится на другом сервере, просто копируя расположение базы данных Derby.Поэтому у меня есть много резервных копий в зависимости от даты.

Теперь я пытаюсь подключиться к одной из этих резервных копий с моего компьютера после установки Netbeans и Java 1.6 (потому что приложение работает на этой версии), а также установки derby.,

Приложение подключается к сети Java DB (clientDriver), а URL-адрес подключения:

jdbc: derby: // localhost: 1527 / C: Derby.DB

ошибка, которую я получаю: Невозможно подключиться.Невозможно установить соединение с базой данных с помощью org.apache.derby.jdbc.ClientDriver (ошибка SQL DERBY: ERRORCODE: 40000, SQLSTATE: XJ040, SQLERRMC: не удалось запустить базу данных с загрузчиком классов sun.misc.Launcher$AppClassLoader@610455d6, см.следующее исключение для деталей .::SQLSTATE:X0Y32

  • Сообщение об ошибке, связанное с SQLSTATE: X0Y32 имеет форму '', уже существует в ''

Я исследовалмного и перепробовал много вариантов без решения.

Пожалуйста, помогите! Спасибо

Я уже пытался соединиться с ij и получить точно такую ​​же ошибку.

Я пытался соединитьсяс сервера и перенаправьте обратно в базу данных и получите точно такую ​​же ошибку.

Кроме того, когда я пытаюсь подключиться через встроенный драйвер, я получаю эту ошибку:

ij> connect'jdbc: derby: C: / database';

---------------------------------------------------------------- вт 02 апр. 08:39:43 COT 2019: Iniciando instancia f81e0010-0169-dae4-8f03-00000e572d50 de Derby, версия Apache Software Foundation - Apache Derby - 10.12.1.1 - (1704137): в каталоге базы данных с использованием sun.misc.Launcher$AppClassLoader@66d3c617 Загружен из файла: / C: /db-derby-10.12.1.1-bin / db-derby-10.12.1.1-bin / lib / derby.jar java.vendor = Oracle Corporation java.runtime.version = 1.8.0_201-b09 user.dir = C: \ os.name = Windows 10 os.arch = amd64 os.version = 10.0 derby.system.home = null Cargador de clases de base de datos iniciado - derby.database.classpath = '' ---------------------------------------------------------------- вт апр 02 08: 39: 43 COT 2019: Cerrando la instancia f81e0010-0169-dae4-8f03-00000e572d50 и директория базы данных C: \ database con cargador de clases sun.misc.Launcher$AppClassLoader@66d3c617 вт 02 апр. 08:39:43 COT 2019 Thread [main, 5, main] Действие очистки, запускающее java.sql.SQLException: Невозможно установить соединение с базой данных с помощью sun.misc.Launcher$AppClassLoader@66d3c617, обратитесь к исключительной информации об обнаружении mßs informaci¾n.в org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException (неизвестный источник) в org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException (неизвестный источник) в org.apache.derby.impl.jdbc.xtEx.se(Неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase (Неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection. (Неизвестный источник) в org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) в org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection (неизвестный источник) в org.apache.derby.jdbc.InternalDriver.connect (неизвестный источник) в org.apache.derby.jdbc.InternalDriver.connect (неизвестный источник) в org.apache.derby.jdbc.AutoloadedDriver.connect (неизвестный источник) вjava.sql.DriverManager.getConnection (неизвестный источник) в java.sql.DriverManager.getConnection (неизвестный источник) в org.apache.derby.impl.tools.ij.ij.dynamicConnection (UnknoИсточник wn) в org.apache.derby.impl.tools.ij.ij.ConnectStatement (неизвестный источник) в org.apache.derby.impl.tools.ij.ij.ijStatement (неизвестный источник)в org.apache.derby.impl.tools.ij.utilMain.runScriptGuts (неизвестный источник) at org.apache.derby.impl.tools.ij.utilMain.go (Неизвестный источник) at org.apache.derby.impl.tools.ij.Main.go (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.mainCore (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.main (неизвестный источник) at org.apache.derby.tools.ij.main (неизвестный источник) Причина: ОШИБКА XJ040: Невозможно установить соединение с базой данных с помощью sun.misc.Launcher$AppClassLoader@66d3c617, обратитесь за консультацией siguiente para obtener mßs informaci¾n. в org.apache.derby.iapi.error.StandardException.newException (Неизвестно Источник) в org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA (Неизвестно Источник) ... еще 23 Причина: ОШИБКА X0Y32: Оператор 'getUDTs' уже существует в схеме 'SYS'. в org.apache.derby.iapi.error.StandardException.newException (Неизвестно Источник) в org.apache.derby.iapi.error.StandardException.newException (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.TopService.bootModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.FileMonitor.startModule (Неизвестно Источник) в org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule (Неизвестно Источник) в org.apache.derby.impl.db.BasicDatabase $ 5.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.impl.db.BasicDatabase.bootServiceModule (Неизвестно Источник) в org.apache.derby.impl.db.BasicDatabase.boot (Неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.TopService.bootModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.bootService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService (Неизвестно Источник) в org.apache.derby.iapi.services.monitor.Monitor.startPersistentService (Неизвестно Источник) at org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) at org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService (Неизвестно Источник) ... еще 20 ============= начать вложенное исключение, уровень (1) =========== java.sql.SQLException: оператор 'getUDTs' уже существует в схеме 'SYS'. в org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException (Неизвестно Источник) в org.apache.derby.impl.jdbc.Util.generateCsSQLException (неизвестный источник)в org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase (Неизвестно Источник) в org.apache.derby.impl.jdbc.EmbedConnection. (Неизвестный источник) на org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) на org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection (Неизвестно Источник) на org.apache.derby.jdbc.InternalDriver.connect (неизвестный источник) на org.apache.derby.jdbc.InternalDriver.connect (неизвестный источник) at org.apache.derby.jdbc.AutoloadedDriver.connect (неизвестный источник) в java.sql.DriverManager.getConnection (Неизвестный источник) в java.sql.DriverManager.getConnection (Неизвестный источник) at org.apache.derby.impl.tools.ij.ij.dynamicConnection (Неизвестный источник) at org.apache.derby.impl.tools.ij.ij.ConnectStatement (неизвестный источник) at org.apache.derby.impl.tools.ij.ij.ijStatement (неизвестный источник) в org.apache.derby.impl.tools.ij.utilMain.runScriptGuts (неизвестный источник) at org.apache.derby.impl.tools.ij.utilMain.go (Неизвестный источник) at org.apache.derby.impl.tools.ij.Main.go (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.mainCore (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.main (неизвестный источник) at org.apache.derby.tools.ij.main (Неизвестный источник) Причина: ОШИБКА X0Y32: Оператор 'getUDTs' уже существует в схеме 'SYS'. в org.apache.derby.iapi.error.StandardException.newException (Неизвестно Источник) в org.apache.derby.iapi.error.StandardException.newException (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DD_Version.upgradeIfNeeded (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables (Неизвестно Источник) at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.TopService.bootModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.FileMonitor.startModule (Неизвестно Источник) в org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule (Неизвестно Источник) в org.apache.derby.impl.db.BasicDatabase $ 5.run (неизвестный источник) at java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.impl.db.BasicDatabase.bootServiceModule (Неизвестно Источник) в org.apache.derby.impl.db.BasicDatabase.boot (Неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестно Источник) в org.apache.derby.impl.services.monitor.TopService.bootModule (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.bootService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService (Неизвестно Источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService (Неизвестно Источник) в org.apache.derby.iapi.services.monitor.Monitor.startPersistentService (Неизвестно Источник)в org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод)at org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService (Неизвестный источник) ... еще 20 ============= конец вложенного исключения, уровень (1) =========== ============= начало вложенного исключения, уровень (2) =========== ОШИБКА X0Y32: оператор 'getUDTs' уже существует в схеме 'SYS».в org.apache.derby.iapi.error.StandardException.newException (неизвестный источник) в org.apache.derby.iapi.error.StandardException.newException (неизвестный источник) в org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addSPSDescriptor (Неизвестный источник) в org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSPSSet (Неизвестный источник) в org.apache.derby.impl.sql.catalog.DataDictionaryImpl.createSystemSps (Неизвестный источник) в org.ache.derby.impl.sql.catalog.DataDictionaryImpl.updateMetadataSPSes (Неизвестный источник) в org.apache.derby.impl.sql.catalog.DD_Version.handleMinorRevisionChange (Неизвестный источник) в org.apache.derby.impl.sqlersionion.D.upgradeIfNeeded (неизвестный источник) в org.apache.derby.impl.sql.catalog.DataDictionaryImpl.loadDictionaryTables (неизвестный источник) в org.apache.derby.impl.sql.catalog.DataDictionaryImpl.boot (неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестный источник) по адресу org.apache.derby.impl.services.monitor.TopService.bootModule (Неизвестный Source) в org.apache.derby.impl.services.monitor.BaseMonitor.startModule (неизвестный источник) в org.apache.derby.impl.services.monitor.FileMonitor.startModule (неизвестный источник) в org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule (неизвестный источник) в org.apache.derby.impl.db.BasicDatabase $ 5.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.impl.db.BasicDatabase.bootServiceModule (Неизвестный источник) в org.apache.derby.impl.db.BasicDatabase.boot (Неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.boot (Неизвестный источник) вorg.apache.derby.impl.services.monitor.TopService.bootModule (неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.bootService (неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService (Неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService (Неизвестный источник) в org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService (неизвестный источник) в org.apache.derby.iapi.services.monitor.Monitor.startPersistentService (неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection $ 4.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.impl.jdbc.EmbedConnection.startPersistentService (неизвестный источник) в org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase (неизвестный источник) по адресу org.apache.derby.impl.jdbc.EmbedConnection. (неизвестный источник) по адресу org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) по адресу org.apache.derby.jdbc.InternalDriver $ 1.run (неизвестный источник) в java.security.AccessController.doPrivileged (собственный метод) в org.apache.derby.jdbc.InternalDriver.getNewEmbedConnection (неизвестный источник) в org.apache.derby.jdbc.Internal.connect (Неизвестный источник) в org.apache.derby.jdbc.InternalDriver.connect (Неизвестный источник) в org.apache.derby.jdbc.AutoloadedDriver.connect (Неизвестный SouRCE)в java.sql.DriverManager.getConnection (Неизвестный источник) в java.sql.DriverManager.getConnection (Неизвестный источник) at org.apache.derby.impl.tools.ij.ij.dynamicConnection (Неизвестный источник) at org.apache.derby.impl.tools.ij.ij.ConnectStatement (неизвестный источник) at org.apache.derby.impl.tools.ij.ij.ijStatement (неизвестный источник) в org.apache.derby.impl.tools.ij.utilMain.runScriptGuts (неизвестный источник) at org.apache.derby.impl.tools.ij.utilMain.go (Неизвестный источник) at org.apache.derby.impl.tools.ij.Main.go (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.mainCore (неизвестный источник) at org.apache.derby.impl.tools.ij.Main.main (неизвестный источник) at org.apache.derby.tools.ij.main (неизвестный источник) ============= конец вложенного исключения, уровень (2) =========== Действие очистки завершено ОШИБКА XJ040: Невозможно установить соединение с база данных с использованием sun.misc.Launcher$AppClassLoader@66d3c617, обратитесь к исключение siguiente para obtener mas informacion. ОШИБКА X0Y32: Оператор 'getUDTs' уже существует в схеме 'SYS'.

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Я публикую это, потому что, наконец, я смог восстановить поврежденную таблицу и для somenone, который нашел бы это полезным.

Что я сделал после замены этих файлов: c230.dat, c241.dat и c251.dat

Я исследовал, как восстановить поврежденные таблицы, и нашел эту замечательную страницу:

https://givemethechills.com/recovering-a-corrupted-embedded-apache-derby-database-after-an-error-xj040-or-if-you-get-an-error-xsdg2/

Это в основном дало следующие шаги:

  1. Загрузить последнюю версиюderby bin.
  2. Добавить DerbyRecovery-0.0.1-SNAPSHOT.jar в ij путь к классам
  3. Выполнить dataFileVTI.sql (не забудьте изменить маршрут к базе данных в строке подключения)
  4. Введите ij и подключитесь к базе данных, используя upgrade=true
  5. Используйте call SYSCS_UTIL.SYSCS_REGISTER_TOOL('customTool',true,'RawDBReader', 'CONTROL','RAW_','c:db','','APP',null); ->изменить маршрут базы данных, пароль, пароль загрузки и схему
  6. Проверьте с помощью select * from raw_app.table1;

Я получил только 3-й шаг, а затем решил восстановить базу данных с помощью этой команды в ij :

jdbc:derby:sample;restoreFrom=c:\Derby.DB

и это сработало.После этого я мог получить доступ к нужной мне таблице со всеми записями.

Так что, вероятно, только запуск этой команды в ij работал после замены файлов, но я публикую все, что сделална всякий случай.

Спасибо всем, кто помог!Карина С.

0 голосов
/ 02 апреля 2019

[Это не совсем решение, но его слишком долго публиковать в качестве комментария.]

У кого-то была такая же проблема, как и у вас (ERROR X0Y32: Statement 'getUDTs' already exists...). См. Отчет об ошибке DERBY-5371: База данных не загружается, сообщая, что системная процедура getProcedureColumns () уже существует

Последний комментарий в ветке гласит:

У меня был клиент, который также столкнулся с этой проблемой в старой базе данных, с той же ошибкой, о которой сообщил Андреас.

Caused by: java.sql.SQLException: Statement 'getUDTs' already exists in Schema 'SYS'.

Выполнение команды:

values syscs_util.syscs_get_database_property( 'DataDictionaryVersion' )

вернул 10,5.

Я использовал тот же прием для загрузки свежих файлов c230.dat, c241.dat и c251.dat для загрузки базы данных.

Я не уверен, что именно нужно сделать для загрузки "свежих файлов c230.dat, c241.dat и c251.dat для загрузки базы данных" , но если это делает чувствую, что стоит попробовать.

...