|
|
|
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 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Уважаемые, подскажите, какого провайдера надо выставлять при создании нового (ручками) связанного сервера для dbf-таблиц? 2000 сервак... ЗЫ а тяжело с девчатами на топе форума конкурировать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 15:50:30 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
г-хм, последний глупый вопрос снимается... sorry Ув. гуру, не судите строго (так всегда бывает - сначала нервно кричишь, потом начинаешь в прошлых постингах смотреть.. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 16:33:01 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
1. Можно процедурой или функцией 2. да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 17:24:40 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
manowar РБ - это Республика Беларусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 09:04:22 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
Доброго утра всем! Уважаемые, с линкед сервером все получилось, проблемы с кириллицей и полями даты исчезли!! Казалось бы, "время бить в барабан..." Но при попытке запустить sp из дельфей возникает вот что: Project Limit raised exception class EOleException with message '[Ole/DB provider returned message: Неопознанная ошибка]' линкед сервер делал так: EXEC sp_addlinkedserver @server = 'LS_1', @provider = 'Microsoft.Jet.OLEDB.4.0', @srvproduct = 'OLE DB Provider for Jet', @datasrc = '\\main\net\coptt\h10\', @provstr = 'dBASE IV' запускаемая процедура: CREATE PROCEDURE dbo.CopyH13a_ls AS BEGIN TRANSACTION TRUNCATE TABLE H13a INSERT INTO H13a (KEI, HAIM, HAIMC, TNARM, D_OBR) SELECT b.KEI, b.HAIM, b.HAIMC, b.TNARM, b.D_OBR FROM OPENQUERY(LS_1, 'select * from H13a') as b COMMIT TRANSACTION Запускаю через ADOStoredProc, конечно, все права на sp и таблицу H13a на серваке у меня есть. В LS -> security стоит: Be made using the login's current security context Не подскажете, где копать? Delphi 5, SQL SERVER 2000 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 09:43:20 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
2nik_nik а живете случаем не в Гомеле? Не сочтите за назойливость, просто знакомцы у меня там... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 09:46:25 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
manowar Живу не в Гомеле, а в Гомельской обл. Сам то, откуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 11:46:32 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
2nik_nik пошли на "..треп", а то оффтопик постим.. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 11:49:04 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
> manowar Попробуй в строке соединения указать дополнительный параметр "use procedure for prepare=0". От "неопознанной" ошибки должно избавить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 13:06:33 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
2Dankov прости непонятливого, но в строке соединения чего с чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 13:27:22 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
ConnectionString в ADO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 13:28:32 |
|
||
|
ANSI_NULLS и ANSI_DEFAULTS
|
|||
|---|---|---|---|
|
#18+
вот что делаю (по порядку): 1. помещаю на форму TADOStoredProc :) 2. создаю в инспекторе коннектион_стринг на сервер, запоминаю, стираю 3. пишу код : Код: plaintext 1. и вешаю это все на буттон 4. запускаю приложение, жму буттон. Реакция: а) 5-6-ти секундный тормоз б) после тормоза: Project Limit raised exception class EOleException with message '[DBNMPNTW] Specifided SQL server not found'. А с этим как бороться? Гуру, на вас вся надежда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 13:54:00 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1821066]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 374ms |

| 0 / 0 |
