Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
При записи в таблицу выдается сообщение: Cannot insert duplicate key row in object 'SC41' with unique index 'IDD'. Понятно, что дело в уникальности значений индексов, и система не дает создать новую запись в таблице со значением индекса, которое уже есть. Вопрос следующий: как обходить это ограничение? Имеется в виду, что обходить автоматически, а не лезть в QA каждый раз, когда такое сообщение выплевывается, с последующим поиском соответствующих строк, которые не записались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 07:18 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Никто не знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 08:21 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Злобный ЙожегНикто не знает? а вы форумом не ошиблись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 09:33 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
ну тут два варианта: 1. саморучно завалить базу, чего уж там.... 2. произвести тестирование и исправление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:08 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
судя по имени таблицы это 1с77. просто снесите индекс drop index sc41 ... Думаю, 1с77 сама все перестроит. Если не перестроит, то надо смотреть какие поля задействованы в построении индекса, и понять откуда берется одинаковость индекса в записи. Может быть поле code формируется не так или достигло своего последнего значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:18 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Panshin, Да, это 7.7. Проблему временно удалось решить, установив соединение в запросе, который добавляет записи, таблицы записей из источника с таблицей справочника базы-приемника по ID с условием, что запись в справочнике-приемнике IS NULL. Я так понял, он туда лезет записывать всякий раз, когда обрабатывает справочник, имеющий в своих реквизитах ссылку на тот, на котором выскакивала такая ошибка. Теперь вопрос в следующем: данные у меня переносятся, как вы наверно догадались, из одной базы в другую, идентичную. В процессе переноса встречаются строки неограниченной длины, у которых тип прописан как MEMO. Данные базы-источника я собираю в ТЗ, которую потом сливаю в ВТ, и уже из этой ВТ заполняю таблицу справочника базы-приемника. При заполнении таких полей он мне выдает ошибку: "Усечение данных строки справа". Как с этим справиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:31 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
точно сносите индекс и кластерный и обычный ломай ее ... ломай заразу бэк ап есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:31 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
sWinTyzточно сносите индекс и кластерный и обычный ломай ее ... ломай заразу бэк ап есть? Естессно. База вообще тестовая. Но, повторюсь, сейчас не это главная проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:39 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Злобный Йожег, Если пользуетесь штатным импортом / экспортом то никак. Используйте bcp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 10:52 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Найдите дубли, вполне возможно что проблема с DBF файлом. В отдельную баз просто затащите данные, безо всяких индексов и ключей. Запросом - типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Найдете как раз все дубли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 11:09 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Кто скажет, почему не выполняется запрос вида "INSERT INTO SC84(SP95, SP101) VALUES ('1', '1')"? SP95, SP101 - поля типа "строка неогр. длины". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 14:00 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
имхо, поля типа "строка неогр. длины" в отдельной таблице хранятся. в дбф это 1SBLOB в скуле нет возможности посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 14:38 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Я так понимаю, что ошибка выскакивает на MS SQL Server. Скорее всего поле IDD на таблице SC41 имеет тип Identity, т.е. автоинкремент. Это ограничение можно обойти, если перед sql запросом сначала выполнить Код: plaintext Код: plaintext В скрипте вставки записей, например, можно сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Эта опция отключает запрет на вставку значений в поле с типом identity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 16:51 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
Demigod the SatanEye, Спасибо, будем иметь в виду. Всё же, подчеркиваю, более живым является сейчас вопрос о записи данных в реквизиты типа строка неограниченной длины. В 7.7 в файловой версии они действительно лежат в таблице 1SBLOB, в скулевой, как я понял - непосредственно в таблицах справочников. Если нельзя запросом туда внести значение, то как иначе можно это сделать? Дело здесь осложняется еще тем, что данные переносятся между двумя базами. Подключаться к базе-приемнику по ОЛЕ для перезаписи элементов справочников с заполнением таких полей - не вариант, ибо слишком неудобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 17:51 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
tvm, В скуле они хранятся вместе с другими полями в таблице справочника. При обычном просмотре таблицы значения этих полей не увидишь, а вот запросом все прекрасно читается. Но раз читается, значит, как-то и записывается?! Вопрос: как именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2011, 18:01 |
|
||
|
Перенос данных посредством SQL
|
|||
|---|---|---|---|
|
#18+
в SQL Server скорее всего используется тип TEXT, nTEXT или image. Для записи в такие поля используются функции WRITETEXT и SETTEXT. Подробнее можно почитать в MSDN тут Пример, как можно писать в поле типа очень длинная строка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2011, 09:23 |
|
||
|
|

start [/forum/topic.php?fid=28&msg=37526860&tid=1520855]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 224ms |
| total: | 397ms |

| 0 / 0 |
