Я тоже пытался получить SymmetricDS tutorial работать.
Это для меня все ново, и я столкнулся с рядом проблем, которые потребовались долгое время, из-за моей неопытности с базами данных Java и драйверами баз данных Java и т. Д., В дополнение к SymmeticDS, также являющимся для меня новым.
- Порты проблемы
- JDBC проблема с драйвером
- JDBC H2 проблема управления базами данных
- проблема Таблица капитализации
- базы данных H2 * Проблема .mv.db
- Общий доступ к базе данных проблемы
Проблемы с портами
Описание
Есть инструкции, как
../bin/sym --port 8080 --server
, но и в других местах, по умолчанию используется порт 31415, который я помню, думая пи, 3,1415926 ....
Решение
У меня есть веб-сервер Apache, работающий на localhost, и поэтому для тестирования SymmeticDS я адаптировал команду 8080 для использования 31415, хотя другой способ может иметь больше смысла для большинства людей, живущих wi го брандмауэров и т. д. Так как оба механизма (corp и store-001) работают на одной машине, брандмауэры и т. д. не являются проблемой для учебника, хотя я ожидаю, что они могут беспокоить меня позже.
драйвер JDBC проблема
Описание и решение
мне нужно, чтобы загрузить и установить некоторые драйверы базы данных JDBC H2, чтобы получить вещи работать.
JDBC H2 проблема управления базами данных
Описание
В местах учебник просит вас выполнить команды некоторые SQL в базе данных H2 АМФ-000 или магазин-001. Я привык к MySQL WorkBench и MS SQL Server Management Studio и мне нужно что-то похожее, чтобы позволить мне открывать базы данных, просматривать их содержимое и запускать SQL-команды.
Решение
я использовал что-то (так называемый консольный зритель я верю), который работает в обычном веб-браузере. Я загрузил и установил вещи с веб-сайта базы данных H2.
проблема Таблицы капитализация
Некоторые команд были врезаться сообщениями об ошибках, как элемент таблицы (в верхнем регистре) не найден. Проверка моей базы данных показала, что была таблица с именем item (в нижнем регистре). Проблема возникает из-за того, что имена таблиц и полей по умолчанию не соответствуют верхнему регистру в стандартном SQL, если они не указаны.Таким образом, в SQL
пункта
означает ITEM а
'пункта'
означает пункт. Так (например) этой строки из учебника
insert into item (item_id, price_id, name) values (110000055, 55, 'Soft Drink');
неверно, если имена таблиц в нижнем регистре, например, для таблицы под названием «элемент».
Решение
Я прошел и конвертируются имена таблиц и имена столбцов в верхний регистр в файлах, которые пришли с учебником. Это была большая работа, чем я ожидал от других людей. Я хотел внести свои изменения в SymmetricDS, но сдался, когда прочитал о подписании и публикации соглашений об авторском праве. Я выбрал прописную букву как свой стандарт для имен, так что любая небрежность сама по себе или SymmetricDS над цитированием имен больше не будет показательной пробкой. Кроме того, любые плохие реализации SQL, которые либо настаивали на наличии котировок, либо настаивали на том, чтобы не иметь котировок в некоторых местах, все равно можно было заставить работать. Например, если плохо реализованный драйвер не любит котировки, тогда ITEM вместо «ITEM» все равно будет работать, тогда как элемент или ITEM вместо «item» не будут.
базы данных H2 * .mv.db проблема
Описание
Изменения в программном обеспечении базы данных H2, как представляется, в процессе с некоторым умолчанию кажущейся использовать * .mv.db файлы.
jdbc:h2:file:C:/Work/symmetric-server-3.7.34/tmp/h2/corp;MV_STORE=FALSE;AUTO_SERVER=TRUE
Решение
Добавление
;MV_STORE=FALSE
моим соединения строк в моем браузере, казалось исправить.
Общий доступ к базе данных проблем
Описание
Я не мог выполнять команды SQL против базы данных H2 (для создания новых данных для синхронизации) в то время как базы данные были уже открыты SymmetricDS, который пытается синхронизировать их.
Решение
jdbc:h2:file:C:/Work/symmetric-server-3.7.34/tmp/h2/corp;MV_STORE=FALSE;AUTO_SERVER=TRUE
Добавление
;AUTO_SERVER=TRUE
в строках подключения консоли/браузера зафиксировано, что. Вы можете заметить, что у меня есть полный путь к моей базе данных. Я не уверен, нуждался ли я в этом или просто добавил его, пытаясь исправить одну из проблем, перечисленных выше.
Борис, у меня нет пробелов в URL-адресах в моем файле свойств. Они только в том, что я ввел в вопрос Stackoverflow.Когда я вставлял их в «как есть», Stackoverflow помешал это как ошибку и не позволил мне сохранить вопрос. Он сказал, что я не имею права ставить ссылки на мои вопросы, которые я публикую. Поэтому мне пришлось обмануть его, добавив пробелы. Поэтому, пожалуйста, игнорируйте пробелы. Как я могу заставить этот пример работать? Вы, кажется, говорите, что порт и пути все правильные (без, конечно, пробелов). – user1519054
Возможно, порт 31415 не может быть использован. Например, вы можете попробовать с 8080? –
Boris - Частично работает теперь после того, как я переключил все порты на 8080 и запустил банку с --port 8080 и с sudo. Я пока не вижу правильной синхронизации, но, по крайней мере, ошибок не отображается. Спасибо! – user1519054