powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DW и хранимые процедуры
10 сообщений из 10, страница 1 из 1
DW и хранимые процедуры
    #33187538
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PB 9.02, MS SQL 2000.
При создании DW на основе хранимой процедуры с аргументом сервер выдает
ошибку преобразования типов данных(20005) независимо от типа данных аргумента. Без аргумента все нормально.
В чем здесь причина?
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33188267
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А пример процедуры?
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33188747
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедура выбирает все дочерние узлы дерева, начиная с заданного.

CREATE PROCEDURE get_all_child @node_id int
AS

DECLARE @level int

/* Creating temporary table for tree storage*/
CREATE TABLE #temp_tree
(
[level] int,
id_parent int not null primary key,
id_child int
)

INSERT #temp_tree ([level], id, parent)
SELECT 0, id_child, parent
FROM linktypprimobj
WHERE id_parent = @node_id

select @level = 0

WHILE 1 = 1
BEGIN

INSERT #temp_tree (level, id, parent)
SELECT @level + 1, t.id_parent, t.id_child
FROM linktypprimobj t, #temp_tree tt
WHERE t.id_child = tt.id_parent and tt.level = @level

IF @@rowcount = 0 BREAK

select @level = @level + 1

END

SELECT id_parent, id_child
FROM #temp_tree

DROP TABLE #temp_Tree
GO
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33189551
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVNCREATE PROCEDURE get_all_child @node_id int
PB 9.0.1 ни какиз проблем с аргументами тип int не замечено, PB 6.5.1 в приложении более 1500 DW основанных на процедурах с разным набором аргументов, проблемы были с нумериками больше 16 цифр, пришлось передавать через строку.
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33189575
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
А сама процедура из QA вызывается нормально?
Код: plaintext
exec get_all_child  1 
Ошибка в приложении или в среде PB?
А другие процедуры с другими наборами аргументов?
Нет ли второго набора dll-ей (pbvm90.dll,...) в разных каталогах?
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33190223
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в среде PB. Лишних копий библиотек нет.
На ПК коллег эффект тот же, т.е. ошибка систематическая.
Соединение - через ODBC.
Проблема на уровне взаимодействия PB 9.02 и MS SQL2000.
Именно в такой комбинации у кого-нибудь есть положительный опыт?
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33190306
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А другие процедуры?
Была в свое время проблема в том что при создании DW с параметрами PB выполняет процедуру подставляя в качестве значений параметров 0-для инта, ""-для строки. Приходилось специально эту ситуацию обрабатывать.

А по делу:

1) если изменить процедуру на
Код: plaintext
1.
2.
3.
4.
CREATE PROCEDURE get_all_child @node_id int
AS
SELECT convert(int, null) as id_parent, 
            convert(int, null) as id_child
GO
Что выдает?

2) В ODBC можно включить Trace, что там в последних строчках? (только выключить не забудь)
3) В MS SQL включить профайлер что посылается на сервер?
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33190322
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4) Что стоит и менялось ли что-нибудь в настройках Database Profile Setup - ODBC dialog box

Можно ли посмотреть на текст с закладки "Preview"
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33190392
PVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При переходе на соединение с БД через
интерфейс MSS все проблемы решились.
Всем спасибо.
...
Рейтинг: 0 / 0
DW и хранимые процедуры
    #33191774
AndrewN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была похожая проблема, но под Oracle. Как выяснилось позже, Билдер, как и следовало ожидать, пихал NULL-ы в параметры при создании ДВ.

Отсюда мораль: необходимо чтобы при вызове процедуры с NULL-овыми параметрами не возникало ошибок. Т.е. чтоб процедура всё-таки открывала курсор, хоть и без строк. И тогда будет вам щастье. После создания ДВ есессно можно всё вернуть взад. Таков уж он этот серверный олень - PB.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DW и хранимые процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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