|
|
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Доброго утра, Дамы и Господа! Не подскажет ли кто-нибудь, в чем тут проблема. Пишу SP, где среди прочего есть такая строка: Код: plaintext 1. EM громко ругается и говорит, что необходимо "включить" опции ANSI_NULLS и ANSI_DEFAULTS. Знаю, что нужно использовать SET, но точно не знаю, где и как его в SP правильно расставить. Делаю так SET ANDI_NULLS ON GO SET ANDI_DEFAULTS ON GO дальше вышенаписанный код GO и вот тут EM выдает что-то типа "неправильный объект Rowset_1". Как лечить? Поможите, плиз.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 08:34:33 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Поправка: ... SET ANSI_NULLS ON GO SET ANSI_DEFAULTS ON GO ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 08:36:02 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Запусти QA Установи эти установки перед созданием процедуры, т.е. SET ANDI_NULLS ON GO SET ANDI_DEFAULTS ON GO create procedure ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 08:51:29 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Господа, извините, поторопился с вопросом; разобрался сам. С утра еще тутумкалка не включилась... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 08:54:05 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Хе, самонадеянное заявление, видать, тутумкалка вообще не тутумкает.. :( Вот такой скрипт: ... SET ANSI_NULLS ON GO SET ANSI_DEFAULTS ON GO TRUNCATE TABLE H10a INSERT INTO H10a (HH, CEHA, KEI, HAIM, D_OBR, TNARM, CEHA_C) SELECT a.HH, a.CEHA, a.KEI, a.HAIM, a.D_OBR, a.TNARM, a.CEHA_C FROM OPENROWSET('MSDASQL', 'DRIVER={Microsoft dBase Driver (*.dbf)}', 'select * from \\main\net\coptt\h10\h10a.dbf') as a GO Из QA все работает, записи вставляются, но при одном условии (приготовились смеяться) - если ЗАКОММЕНТИРОВАТЬ SETы! Если нет, то не вставляются! Wow!! И EM подвисать начинает... Закроешь QA - все нормально... Может, кто сталкивался, а? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:17:56 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Нет, похоже, это совершенно не мой день! "Звезды Сад-ад-Забих..." не просто встали сегодня неблагоприятно для меня, а еще и показывают сверху различные интимные места :) Вот что вылечило (из QA): SET ANSI_NULLS ON GO SET ANSI_DEFAULTS ON GO TRUNCATE TABLE H10a GO BEGIN TRANSACTION INSERT INTO H10a (HH, CEHA, KEI, HAIM, D_OBR, TNARM, CEHA_C) SELECT a.HH, a.CEHA, a.KEI, a.HAIM, a.D_OBR, a.TNARM, a.CEHA_C FROM OPENROWSET('MSDASQL', 'DRIVER={Microsoft dBase Driver (*.dbf)}', 'select * from \\main\net\coptt\h10\h10a.dbf') as a COMMIT TRANSACTION GO Но однако ж, так и не понял, как запихнуть в SP эти самые злополучные SETы? Если я правильно понимаю, то необходимо создать SP, в ней прописать оба Setа, так?, а затем в этой же процедуре создать новую, и в ней уже рисовать вышеуказанный код. Если я ошибаюсь, поправьте меня, плиз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:43:20 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Эти setы пишешь перед созданием процедуры в QA, а в процедуре их больше не указываешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:46:51 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
nik_nik, Вы - гений!! Мое СПАСИБО не знает границ!! Все получилось! Но есть одна закавыка. Насоздавал по Вашему способу в QA 7 штук SP приблизительно одинаково вида, типа CREATE PROCEDURE dbo.CopyH34a AS TRUNCATE TABLE H34a BEGIN TRANSACTION INSERT INTO H34a (IZD, ZAKAZ, HAIM, HAIM1, PEO, KTO, KTO1, PCIZD, RAZ_PL, D_OBR, TNARM, NPP, KK, HAIM_SB) SELECT a.IZD, a.ZAKAZ, a.HAIM, a.HAIM1, a.PEO, a.KTO, a.KTO1, a.PCIZD, a.RAZ_PL, a.D_OBR, a.TNARM, a.NPP, a.KK, a.HAIM_SB FROM OPENROWSET('MSDASQL', 'DRIVER={Microsoft dBase Driver (*.dbf)}', 'select * from \\main\net\coptt\h10\h34a.dbf') as a COMMIT TRANSACTION GO отличаются только названием таблиц и наборами полей. По отдельности каждая работает как часы. Ну, естественно, горю желанием проверить все 7 штук сразу (очень суммарное время выполнения интересует). И тут закавыка: любая 1-я процедура проходит, последующие - нет: Server: Msg 7399, Level 16, State 1, Procedure CopyH34a, Line 10 OLE DB provider 'MSDASQL' reported an error. The provider did not give any information about the error. Не подскажете, уважаемые, под какой ногой грабли? P.S. nik_nik, простите, РБ - это часом не "Республика Беларусь"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 15:30:29 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
а если выполнять процедуры друг за другом, но с задержкой (waitfor delay), мож получится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 16:52:41 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
используй фокспрошный драйвер... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 17:38:42 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
ЗЫ... у фокспрошного драйвера есть параметр Exclusive... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 18:15:47 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Утро доброе, Уважаемые! 2MiCe спасибо за совет, благодаря ему процедуры все-таки начали выполняться пачками, но вылезла новая бяка: 1. поля с кириллицей таблиц на сервере стали содержать поля с суахили :) 2. если в таблице-источнике есть поля даты с Null, то: Server: Msg 298, Level 16, State 1, Procedure CopyT40c, Line 10 The conversion from datetime data type to smalldatetime data type resulted in a smalldatetime overflow error. Чем лечится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 09:24:52 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
попытался вылечить 2-ю бяку с помощью "SET DATEFORMAT dmy" - не вышло... :( Неужто триггер надо рисовать? Уважаемые, поможите, плиз... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 11:11:05 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
1. перекодировка 2. попробуй datetime вместо smalldatetime ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 11:34:26 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
1. а как? (прости за наверняка глупый вопрос, но после 7 лет асма на сиквел с дельфой тяжело переползать...) 2. т.е. предлагаешь поменять поле в таблице на сервере с smalldatetime на datetime? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 11:39:30 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
в строчке Collate=Russian; отставил? если да то нужно русский мдак поставить.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 12:25:34 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Collate=Russian оставил, конечно... а МДАК на сервер ставить надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 13:05:04 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
а кодировка в дбф какая?(866,1251) попробуй в одбс прилинковать любой файл и в дополнительных параметрах посмотреть ставится ли коллйт для русского? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 13:29:42 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
- кодировка 866 - коллайт для русского ставится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 13:51:56 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
у меня кодировка тож 866 и все ок... если нужны null в строке подключения есть одноименный параметр ... ну про коллейт.... покажи ка строчку как вызываеш .. всю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 14:17:32 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
вот: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 14:40:34 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
а колейт базы у тебя какой? попробуй кастить в юникод текстовые поля... может поможет COLLATE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 14:47:21 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
>>а колейт базы у тебя какой? Смотрел тут : NewBase properties -> General -> Collation Name (правильно?) - "Cyrillic_General_CI_AS" >>попробуй кастить в юникод текстовые поля... в OPENROWSETe я смогу это сделать? Или еще как-нить, но только не меняя ничего в таблице-источнике?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 14:57:51 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
я имею ввиду... Код: plaintext 1. 2. 3. если не поможет подключи как линкед сервер и поиграйся в настройках с колятион (совместим,удаленный).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 15:08:54 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Вот честно тебе скажу - удивляюсь сильно: пока использовал dBase-ный драйвер, все было пучком, как фокспрошный начал юзать - так "вот тебе бабушка и юрьев день..." :) ! Но самое главное - мне эти процедуры с клиента запускать надо (Дельфи 5), так с фокспрошныйм драйвером вроде как запускаются, а с dBase-ким - нет, "Дисковая или сетевая ошибка" пишет! Не разъяснишь, в чем дело мож быть? А с линкед сервером сейчас пробовать буду, но что-то мне подсказывает, что и это всех траблов не вылечит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 15:39:48 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32043411&tid=1821066]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 369ms |

| 0 / 0 |
