Re: переход с Interbase на MS SQL server
Длительное время раболи в Interbase в CSDNMigrate нормально проходили бэкап и ресторе. теперь при попытке ресторнуть в MS SQL 2000 sp3 выдает
dbExpress Error: Unknown Error Code '127'
что делать?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
TechnologiCS → СУБД → MS-SQL → переход с Interbase на MS SQL server
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Длительное время раболи в Interbase в CSDNMigrate нормально проходили бэкап и ресторе. теперь при попытке ресторнуть в MS SQL 2000 sp3 выдает
dbExpress Error: Unknown Error Code '127'
что делать?
Полную информацию пожалуйста, версии и т.п.
WIN 2000 serv
TechnologiCS 4.6.3
IB 5.6 (щас работаем, бэкапы с него)
MS SQL 2000 sp 3 (на него хочу перейти)
CSDNMigrate ессно с диска TechnologiCS 4.6.3.
делал обычный ресторе. в окошке где обычно проходят коментарии о ходе работы первой выходит строчка "dbExpress Error: Unknown Error Code '127'"
(ресторе без файлового сервера, да и в бекап я файлы не сохранял)
т.е. ошибка не в процессе ресторе а сразу после ввода паролей и т.п.
Возможная причина в том, что в системных требованиях стоит 4-й сервиспак, и с сервиспаком 3 не тестировалось.
Но больше похоже на проблемы настройки SQL сервера.
Попробуйте с MSDE который есть на дистрибутивном диске.
и посмотрите версию и дату файла dbexpmss.dll который должен(обязан) быть в папке запуска программы миграции.
MSDE попробую
dbexpmss.dll - 26 мая 2006 г., 13:24:16 размер 125 КБ (128 000 байт)
Буду ждать результатов с MSDE
И неплохо бы еще посмотреть версию dbexpmss.dll.
Дата отличается, но это скорее из за перекопирования при записи диска.
И неплохо бы еще посмотреть версию dbexpmss.dll.
на CD с которого я копировал
27 февраля 2004 г., 22:02:00
заработало начали создаваться таблицы.. в процессе появиласть ошибка:
SQL Server Error: SQL State: 22018, SQL Error Code: 0 === INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT) VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT)
Исходная ошибка связана с SQL сервером, а вот новая, с невозможностью записи данных, наверняка связана с некорректной датой.
Аналогичные проблемы уже встречались, на IB вводилась дата 205 год вместо 2005, т.е. ошибка оператора.
IB это воспринимал нормально, а MS ругается.
Чтобы уточнить и выяснить где это, возмите новый
https://forum.technologics.ru/docs-hz/CSDNMigrate.zip
у него расширеная диагностика.
please-change-link
вот с новой
SQL Server Error: SQL State: 22018, SQL Error Code: 0 === INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT) VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT) ====== Error On SQL INSERT INTO BLDOCS (BLDOC_ID, BLDOC_NUMBER, BLDOCTYPE_ID, BLDOC_DATE, BLDOC_STATE, BLDOC_COMMENT, CONTRAGENT_ID, CEHA_ID_PLUS, CEHA_ID_MINUS, WORKMAN_ID_PL, WORKMAN_ID_MIN, CREATOR, CREATE_DATE, CHANGER, CHANGE_DATE, BLDS_ID, BLDOC_NAME, BLDOC_YEAR, BLDOC_PREF, BLDOC_PREFCNT) VALUES (:BLDOC_ID, :BLDOC_NUMBER, :BLDOCTYPE_ID, :BLDOC_DATE, :BLDOC_STATE, :BLDOC_COMMENT, :CONTRAGENT_ID, :CEHA_ID_PLUS, :CEHA_ID_MINUS, :WORKMAN_ID_PL, :WORKMAN_ID_MIN, :CREATOR, :CREATE_DATE, :CHANGER, :CHANGE_DATE, :BLDS_ID, :BLDOC_NAME, :BLDOC_YEAR, :BLDOC_PREF, :BLDOC_PREFCNT) BLDOC_ID = 141 BLDOC_NUMBER = 145/231 BLDOCTYPE_ID = 1 BLDOC_DATE = 01.12.0196 00:00:00 BLDOC_STATE = 0 BLDOC_COMMENT = ЗАВ.№6 CONTRAGENT_ID = 19 CEHA_ID_PLUS = 157 CEHA_ID_MINUS = {NULL} WORKMAN_ID_PL = 26 WORKMAN_ID_MIN = {NULL} CREATOR = 1151 CREATE_DATE = 20.05.2005 10:04:35 CHANGER = 1151 CHANGE_DATE = 06.06.2005 15:49:07 BLDS_ID = 2 BLDOC_NAME = Акт приема-передачи основных средств BLDOC_YEAR = 196 BLDOC_PREF = 145/ BLDOC_PREFCNT = 231 ========Call Stack .RestoreTables .RestoreTable .ExecuteQuery ========Last 10 Succes SQL ...................
ошибка в дате как я понимаю "BLDOC_DATE = 01.12.0196 00:00:00" ?
зашел в TechnologiCS исправил дату документа (учетного).
сделас bakup в interbase
при попытке restore ошибка осталась
что делать ?
Смотрите внимательней, наверняка это уже другая запись. Ориентироваться можно по первому полю, в данном случае это BLDOC_ID = 141
Такая ошибка может быть и в других таблицах.
Естественно процесс долгий и неблагодарный.
Чтобы вычислить все подобные записи на конкретной таблице можно сделать такой запрос - SELECT * FROM BLDOCS WHERE BLDOC_YEAR < 2000
Исправляйте в IB пока такой селект будет не пустой.
После этого бакап из IB и ресторе в МС.
Если появится аналогичное на другой таблице соответственно правьте её.
И продолжайте так пока не исправите всё.
выудил 2 записи
141 145/231 1 01.12.0196 0 ЗАВ.№6 19 157 26 1151 20.05.2005 10:04:35 1151 06.06.2005 15:49:07 2 Акт приема-передачи основных средств 196 145/ 231 761 /738 1 01.11.0972 0 ЗАВ№114 32 157 26 1151 06.06.2005 9:55:51 1151 06.06.2005 15:45:34 2 Акт приема-передачи объекта основных средств 972 / 738
изменить не дает, ссылается что нельзя изменить оприходованыый документ (разоприходование из TCS проблемы не снимает). изменение даты в TCS ниче не дает, дата странным образом остается старой. (хотя в интерфейсе TCS дата меняется, а в БД старая остается):(
Сделайте для каждой записи вот такое обновление:
UPDATE BLDOCS SET
BLDOC_DATE = '12/10/2006',
BLDOC_YEAR = '2006'
WHERE BLDOC_ID = 141
UPDATE BLDOCS SET
BLDOC_DATE = '11/01/2006',
BLDOC_YEAR = '2006'
WHERE BLDOC_ID = 761
Только даты поставьте нужные вам и обратите внимание что дату надо подставлять в формате - 'MM/DD/YYYY' т.е. Месяц/День/Год
Кроме того выполнять обновления нужно подключившись к базе с именем соответствующим идетенфикаторам пользователей TCS
т.е.
1. Подключаемся к базе как SYSDBA
2. SELECT * FROM USERS
3. Выбираем нужного пользовател, например "Администратор"
4. Смотрим первое поле USER_ID и запоминаем число
5. Отключаемся от базы и подключаемся снова но вместо SYSDBA вводим в качестве имени запомненое число, естественно нужно знать пароль выбранного пользователя.
6. Делаем обновления
сначала выходит ошибка
Statement failed, SQLCODE = -836
потом
exception 98 -Нельзя изменить оприходованный документ!
что будет если снять ограничения, поправить и потом вернуть ограничения, ничего криминального не будет.
просто хочется чтобы все было правильно
Снимите, только потом не забудьте вернуть, и исправляйте только даты.
А после конвертации постарайтесь проверить не возникло ли проблем с оприходованием в связи с изменением даты.
Человек, который мог бы точнее сказать про эти проблемы, сейчас отсутствует.
По крайней мере рекомендую отработать технологию на копии базы, прежде чем делать окончательный переход.
Разоприходуйте все документы потом меняйте даты
если этого не сделать неправильно будут считаться остатки на дату!
Сергей Киви писал(а):
Снимите, только потом не забудьте вернуть, и исправляйте только даты.
А после конвертации постарайтесь проверить не возникло ли проблем с оприходованием в связи с изменением даты.
Человек, который мог бы точнее сказать про эти проблемы, сейчас отсутствует.
По крайней мере рекомендую отработать технологию на копии базы, прежде чем делать окончательный переход.
и еще впрос, даты меньше какой являются ошибочными ?
у мня в базе есть документы с датой 1960 (введение какого-то оборудования который еще работает)
Андрей Беньков писал(а):
Разоприходуйте все документы потом меняйте даты
если этого не сделать неправильно будут считаться остатки на дату!
:shock: 6000 документов из низ 2-3% должны остаться не оприходованными, они ж перепутаются
Можно из TCS отфильтровать документы с неправильной датой
разоприходовать поправить дату оприходовать
Может кто подскажет.
При переходе на MSDE SP3 c IB 5.6
выскакивае сообщение SQL State 42000 Error Codde 18452.
TCS 4.6.3.
Конвертация не идет.
Сергей Коновалов писал(а):
При переходе на MSDE SP3 c IB 5.6
выскакивае сообщение SQL State 42000 Error Codde 18452.
TCS 4.6.3.
А поподробней? В какой момент возникает и что в полном сообщении об ошибке?
Ошибка возникает в окне "Операция завершена."
Расширенной информации нет
только SQL State 42000 Error Code 18452 (null)
поиск выдает , что эта ошибка связана с SQL Server and Windows Authentication
т.е. на нашем форуме https://forum.technologics.ru/viewtopic.php?id=445 пункт №3, рис.2
но как это проверить на MSDE без SQL Server's Enterprise Manager может кто подскажет?
Спасибо за ссылочку.
А кто-нибудь разворачивал MSDE?
Я почитал мануал, вроде как какие-то опции там можно выставить при инсталляции. Может разработчики подскажут козырную инсталляционную строчку?;-)
Чтобы отправить ответ, вы должны войти или зарегистрироваться
TechnologiCS → СУБД → MS-SQL → переход с Interbase на MS SQL server