Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Импорт в MS SQL SERVER 2000

5.9K
23 октября 2006 года
DENWER
35 / / 10.07.2005
Господа, Образовалась проблема.
Нужно импортировать данные из .xls файла. Если импортирую таблицу не содержащую внешних ключей(foreign key) то всё нормально. При импортировании данных содержащие внешнии ключи вылетает ошибка:
INSERT statement conflicted with COLUMN FOREIGN KEY constraint 'Имя_ключа'. Подскажите пожалуйста кто знает в чом проблема.
385
23 октября 2006 года
SomewherSomehow
477 / / 25.07.2004
Ошибка эта означает что импортируемые в таблицу с внешним ключом данные не имеют соответсвющих им данных в таблицах с первичным ключом. Т.е. что можно проыверить, как мне кажется:
1) Все ли данные в экселе что импортируются в поле явл.-ся внешним ключом имеют соответсвующие значения в таблицах с первичным ключом.
2) Часто в первой строке файла эксель пишется название поля, проверь не получается ли при импорте так, что первая строка интерпретируется как первая запись в таблице и соответсвенно скорее всего не имеет соотв-го первичного ключа.
3) проверь нет ли в колонке пустых значений, которые могут имопртироваться как пустые строки...
мне кажется проблема где-то здесь...
5.9K
24 октября 2006 года
DENWER
35 / / 10.07.2005
1) Проверил - все данные соответствуют.
2) В экселе названия полей прописаны. Возможно это и вызывает оштбку. Я проверю это, если ты подскажешь как(если тебя не обламает).
Да и ещё забыл указать, что в сообщение об ошибке говорится. "Конфликт произошол в бд "Имя", таблица "таблица", колонка "ID"
3)В колонке с внешними ключами пустыз значений нет.
Заране спасибо
385
24 октября 2006 года
SomewherSomehow
477 / / 25.07.2004
Ты не сказал каким образом ты импортируешь.
Я импортировал при помощи Enterprize Manager, следующим образом:
1) выбираешь базу, таблицы, меню Все задачи, там Import Data.
2) В появившемся окне выбираешь дата провайдера (у меня это был ms excel 97-2000), выбираешь файл, жмешь дальее
3) выбираешь сервер и базу, жмешь далее.
4) Если не нужно никак предварительно данные из экселя обрабатывать, столбцы в экселе соответсвуют столбцам из бд выбираешь, просто "Copy tables and views и т.д....."
5) Если в книге эксель не один рабочий лист - выбираешь с каких рабочих листов брать данные и в какую таблицу их записывать..
6) ну и там, нажимаешь выполнить
Первую строчку при этом он интерпретирует как названия столбцов, но они не обязательно должны совпадать с названиями столбцов в таблице, главное чтоб совпадал тип данных в других строках.
100% все работает ибо сам не раз пользовался этим и в разных таблицах и с внешними ключами и нет...В случае ошибок, мне кажется имеет смысл еще раз проверить экселевский файл...
В крайнем случае уж если ваще никак не получается, можно перегнать во временную таблицу без форенкеев, а потом уже запросом перекинуть в основную...Но если данные правильные, все получится и так.
5.9K
24 октября 2006 года
DENWER
35 / / 10.07.2005
Спасибо за внимание. От этой ошибки испбавился. На самом деле ошибка была под номером 1- из твоего списка. )) Просто не усмотрел: Всё таки 5223 записи. Пришлось прогу писать для поиска внешних ключей. Ещё раз спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог