powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ошибка при выполнении хранимой процедуры...
7 сообщений из 7, страница 1 из 1
Ошибка при выполнении хранимой процедуры...
    #32894197
Москаль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Я тут новенький, поэтому ногами не пинайте!
Пытаюсь работать с PHP5 + MS SQL Server 2000. Делаю запрос типа "exec "имя процедуры" "параметр" и в ответ получаю, "невозможно записать NULL в поле "имя_поля". Дело в том, что в хранимой процедуре создается временная таблица и заполняется она "постепенно", т.е. сначала некоторые поля, потом update другие...
Ругань идет именно на незаполненные при инсерте поля. В аналайзере исполняется без ошибок. Пробовал принудительно писать в отсутствующие поля не NULL-значения - все работает!!! Но с таким подходом потребуется переписать десятки хранимых процедур - а это не есть хорошо...

Если кто чего знает, подскажите. Может надо SQL Server подстроить?
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32894289
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наверное, там для этого поля задано, что оно NOT NULL, если убрать, ругаться не будет... Но если где-то в логике это NOT NULL используется -- чревато... Ну то вам лучше знать, используется ли.
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32894319
Москаль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том-то и дело, что при создании временной таблички в хранимой процедуре ( а ля create table #tmp (a int, b, datetime)) нигде не указано, что поле not NULL (поэтому аналайзер на ругается и все выполняет, да и прога на дельфях уже год работает сэтой процедурой). Я тут попробывал явно определить, что поле может быть NULL (create table #tmp (a int null, b, datetime null) - ошибка ушла, но проблема осталась. Я не хочу и не могу редактировать все процедуры!!!!
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32894328
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, это в тынц вопрос, скорее -- причём тут PHP или Perl?)
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32894444
Москаль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так подумал: если в аналайзере все работает, а в скрипте- нет, значит, рыть надо в скрипте или настройках PHP :(
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32897054
Москаль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это кому интересно, то решение найдено и касается в большей мере PHP чем MS SQL Server/

вместо mssql_query("exec sp_myProc 'par1' ", $conn) следует делать: mssql_query(" SET ANSI_NULL_DFLT_ON ON
exec sp_myProc 'par1' ", $conn)
...
Рейтинг: 0 / 0
Ошибка при выполнении хранимой процедуры...
    #32897117
Москаль
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и еще: SET ANSI_NULL... действует в пределах текущего соединения и может вызываться только 1 раз при инициализации соединения...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Ошибка при выполнении хранимой процедуры...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]