|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
Народ, нужна помощь. Совсем запарил, не пойму в чем байда. Значит так. Есть PowerBuilder 7.0.3 Build 10009 и MS SQL Server 2000, делаю DataWindow на основе Stored Procedure. Отладил процедуру, в SQL Query Analyzer, все работает хорошо. Запускаю Preview в PB лезет ошибка: Select Error: Cannot insert the value NULL into column " , table "; column does not allow null INSERT fails Ну да в процедуре есть инсерты, но нигде нет запрета на NULL, да и столбца " , table " тоже нет. Я уже многие варианты перепробовал, но конструктивных идей для решения пока нет. Может кто подбросит свежую мысль? Понимаю, что без исходников довольно трудно понять что к чему, но процедура достаточно обьемная, выкладывать нет смысла. ПОМОГИТЕ, ХОТЯБЫ ИДЕЯМИ!!!!!!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2003, 11:30 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
Отбой! I got it! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.11.2003, 12:01 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
А чего было-то? Поделись опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2003, 07:49 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
Да была такая байда. Есть временная таблица, туда бросал разные данные (с NULL тоже были), далее джойнил енту таблицу с другими и результат пихал в DataWindow. Так вот, на это безобразие Бильдер и ругался, ему видетели, не понравилось, что Null я вставлял в таблицу. Хорошо, злыдень - при создании таблицы в каждой строчке написал что-то типа: PER_CENT char(14) NULL, , а раньше было написано PER_CENT char(14), Вот такую то таблицу, он и смог переварить... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2003, 14:05 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
Вообще-то PB тут не при делах - дело в настройке set ansi_null_dflt_on on , которая определяет, как определяются столбцы таблиц по умолчанию - NULL или NOT NULL. В Query Analyzer'е на закладке Connection options эта опция включена, поэтому в нем все гладко. Вот кусочек из MS Online Book: Код: plaintext
Выполнение в процедуре set ansi_null_dflt_on on или в PB execute immediate 'set ansi_null_dflt_on on' using SQLCA; спасет отца русской демократии :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 13:53 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
To Илья Зайцев По-моему, Вы батенька, несколько погорячились. Я вставлял во временные таблицы Null без проблем, что и засвидетельствовал SQL Query Analyzer. Даже скажу больше, изврат с PER_CENT char(14) NULL я вставил только в ту таблицу, которая джойнится с другими данными и результат возвращается в DataWindow. Но были и еще временные таблицы в той же Stored Procedure, в которые тоже запихивал NULL - на них PB не ругался! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 14:26 |
|
DataWindow & Stored Procedure
|
|||
---|---|---|---|
#18+
Отключите для чистоты эксперимента эту опцию в Query Analyzer'e или в нем же перед выполнением процедуры выполните set ansi_null_dflt_on off , (убрав внутри из объявления столбца NULL) и запустите - QA должен выбросить ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2003, 16:02 |
|
|
start [/forum/topic.php?fid=15&fpage=112&tid=1339423]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 232ms |
total: | 371ms |
0 / 0 |