|
|
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
Всем привет! Я тут новенький, поэтому ногами не пинайте! Пытаюсь работать с PHP5 + MS SQL Server 2000. Делаю запрос типа "exec "имя процедуры" "параметр" и в ответ получаю, "невозможно записать NULL в поле "имя_поля". Дело в том, что в хранимой процедуре создается временная таблица и заполняется она "постепенно", т.е. сначала некоторые поля, потом update другие... Ругань идет именно на незаполненные при инсерте поля. В аналайзере исполняется без ошибок. Пробовал принудительно писать в отсутствующие поля не NULL-значения - все работает!!! Но с таким подходом потребуется переписать десятки хранимых процедур - а это не есть хорошо... Если кто чего знает, подскажите. Может надо SQL Server подстроить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 12:00 |
|
||
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
Ну наверное, там для этого поля задано, что оно NOT NULL, если убрать, ругаться не будет... Но если где-то в логике это NOT NULL используется -- чревато... Ну то вам лучше знать, используется ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 12:26 |
|
||
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
В том-то и дело, что при создании временной таблички в хранимой процедуре ( а ля create table #tmp (a int, b, datetime)) нигде не указано, что поле not NULL (поэтому аналайзер на ругается и все выполняет, да и прога на дельфях уже год работает сэтой процедурой). Я тут попробывал явно определить, что поле может быть NULL (create table #tmp (a int null, b, datetime null) - ошибка ушла, но проблема осталась. Я не хочу и не могу редактировать все процедуры!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 12:33 |
|
||
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
А вообще, это в тынц вопрос, скорее -- причём тут PHP или Perl?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 12:36 |
|
||
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
Я так подумал: если в аналайзере все работает, а в скрипте- нет, значит, рыть надо в скрипте или настройках PHP :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 13:10 |
|
||
|
Ошибка при выполнении хранимой процедуры...
|
|||
|---|---|---|---|
|
#18+
Если это кому интересно, то решение найдено и касается в большей мере PHP чем MS SQL Server/ вместо mssql_query("exec sp_myProc 'par1' ", $conn) следует делать: mssql_query(" SET ANSI_NULL_DFLT_ON ON exec sp_myProc 'par1' ", $conn) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2005, 14:00 |
|
||
|
|

start [/forum/topic.php?fid=23&tid=1478823]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 454ms |

| 0 / 0 |
