powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Работа с двумя базами
11 сообщений из 11, страница 1 из 1
Работа с двумя базами
    #34756969
Mityay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Впервые понадобилось из приложения, работающего с Oracle,
записать кое-что в MySQL, писать-то пишет, но приложение сразу
же падает без каких бы то ни было сообщений. Не подскажет ли
кто, где копать?
PB10.2.1 build 9823, MySQL через ODBC.
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757030
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
должно быть все впорядке.
видел приложения работающие и с пятью БД.
разве-что лажа в odbc для mySql...
или в вашем коде :)
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757033
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новую транзакцию открываете?
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757094
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю проблема в коде.
Высылайте посмотрим.
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757138
Mityay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, все честно, CONNECT USING mysql_trans, INSERT....USING mysql_trans,
DISCONNECT USING mysql_trans
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757141
Mityay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, больше ничего и нет.
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757212
Mityay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полностью код такой:
public function boolean wf_estma_insert (integer ai_year, decimal adec_invoice_num, date adt_inv, decimal adec_client, decimal adec_amount, string as_currency);Boolean rb
//
MySQL_TRANS estma

estma = CREATE MySQL_TRANS
estma.DBMS = "ODBC"
estma.AutoCommit = False
estma.DBParm = "ConnectString='DSN=ESTMA;UID=xxxx;PWD=******'"
CONNECT USING estma;
INSERT INTO ocsinv.updinv (year, number, datei, cln, sum, vat, currency)
VALUES (:ai_year, :adec_invoice_num, :adt_inv, :adec_client, :adec_amount, 0.0, :as_currency) USING estma;
COMMIT USING estma;

rb = (estma.SQLCODE = 0)

DISCONNECT USING estma;

Return rb
end funct
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34757731
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. После этой CONNECT USING estma; проверяйте SQLCODE (наличие ошибок)
2. INSERT INTO ocsinv.updinv (year, number, datei, cln, sum, vat, currency)
VALUES (:ai_year, :adec_invoice_num, :adt_inv, :adec_client, :adec_amount, 0.0, :as_currency) USING estma;
Приведённый код не есть хорошо. От толстого клиента надо избавляться по возможности... По-моему в последних версиях MYSQL можно писать процедуры. Декларьте процедуру и пусть инсерт происходит внутри данной процедуры...
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34758048
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boogiman1. После этой CONNECT USING estma; проверяйте SQLCODE (наличие ошибок)
2. INSERT INTO ocsinv.updinv (year, number, datei, cln, sum, vat, currency)
VALUES (:ai_year, :adec_invoice_num, :adt_inv, :adec_client, :adec_amount, 0.0, :as_currency) USING estma;
Приведённый код не есть хорошо. От толстого клиента надо избавляться по возможности... По-моему в последних версиях MYSQL можно писать процедуры. Декларьте процедуру и пусть инсерт происходит внутри данной процедуры...
из-за этого приложение падать не должно.

в коде "страшного" ничего не вижу.
пробуйте написать простейшее приложение с этим-же кодом.
если падает: проблема в драйвере.
если нет:
- не вызываете ли вы этот код в цикле (постоянный коннект/дисконнект может плохо сказываться)
- нет ли рукурсии ? (обычно при бесконечной рекурсии билдер тихо закрывается)
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34758632
KOLCHOZ_POSTEVENT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Destroy estma перед ретурном добавьте,на всякий,так сказать.
Триггерами база не болеет?
...
Рейтинг: 0 / 0
Работа с двумя базами
    #34760251
Mityay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо всем откликнувшимся. Проблема разрешилась
установкой нового драйвера MySQL. Обычная история...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Работа с двумя базами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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