Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ошибка при выполнении процедуры через ДВ / 10 сообщений из 10, страница 1 из 1
18.09.2008, 16:35
    #35547006
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
Есть ПБ 9.0.3 и есть сервер ASE 12.5
На сервере написал хранимую процедуру, отрабатывает на ура и там и при дизайнере ДВ.
Делаю ретриев этого ДВ из формы и получаю вот такое:

DataWindow Error
Select error: SQLSTATE=HY000
[DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]
SELECT INTO command not allowed within multi-statement transaction.

Что ему не нравится?
...
Рейтинг: 0 / 0
18.09.2008, 16:40
    #35547027
sPaul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
Какие параметры подключения к БД? (параметры sqlca)
...
Рейтинг: 0 / 0
18.09.2008, 16:45
    #35547049
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
sPaulКакие параметры подключения к БД? (параметры sqlca)
SQLCA.DBMS="ODBC"
SQLCA.AutoCommit =False
SQLCA.DBParm= ProfileString ( ls_inifile, "Database", "DBParm", "ConnectString='DSN=***;UID=***;PWD=***'")
...
Рейтинг: 0 / 0
18.09.2008, 16:53
    #35547081
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
Прежде всего попробуй поставить autocommit = true перед выполнением
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
18.09.2008, 16:58
    #35547108
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
spas2001Прежде всего попробуй поставить autocommit = true перед выполнением

пасиб, оно!
...
Рейтинг: 0 / 0
18.09.2008, 17:08
    #35547153
sPaul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
spas2001Прежде всего попробуй поставить autocommit = true перед выполнением
А смысл?
...
Рейтинг: 0 / 0
18.09.2008, 17:27
    #35547233
sPaul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
sPaul spas2001Прежде всего попробуй поставить autocommit = true перед выполнением
А смысл?Можно ли чуть подробнее об ошибке? И autocommit должен быть false во время выполнения приложения, если длинные транзакции выполняются.
...
Рейтинг: 0 / 0
18.09.2008, 17:50
    #35547303
Dmitry..
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
SELECT INTO command not allowed within multi-statement transaction.

все-же написано.
select into, который создает таблицу, запускаете в транзакции

т.е. либо пускайте без транзакции (autocommit=true) либо меняйте параметры сервера.
...
Рейтинг: 0 / 0
18.09.2008, 17:54
    #35547317
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
тут дальше прикол получился.
когда запускаю программу из ПБ - все работает.
делаю deploy (проходит без ошибок), запускаю получившийся экзешник - и второй ДВ (который напрямую зависим от строк первого) полностью белый, как чистый лист :(
...
Рейтинг: 0 / 0
18.09.2008, 18:41
    #35547416
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при выполнении процедуры через ДВ
sPaul sPaul spas2001Прежде всего попробуй поставить autocommit = true перед выполнением
А смысл?Можно ли чуть подробнее об ошибке? И autocommit должен быть false во время выполнения приложения, если длинные транзакции выполняются.
Это кто сказал такое про AutoCommit?
Для Sybase/Microsoft лучше держать Autocommit=True.
В противном случае PB автоматом неявно выдает Begin Tran на каждый CONNECT/COMMIT/ROLLBACK
и получается что все время есть открытая транзакция.
В случае Autocommit=True - открытой транзакции изначально нет, но BEGIN TRAN тогда нужно делать самому когда это необходимо.

Все вышесказанное НЕ относится к Oracle, ASA и другим СУБД - только к ASE и MS SQL.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ошибка при выполнении процедуры через ДВ / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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