powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro + MySQl
7 сообщений из 7, страница 1 из 1
FoxPro + MySQl
    #38570797
poisk32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу откликнутся кто сталкивался с таким. Может я не понимаю что делаю, но смысл в следующем.
Ранее я работал в связке сервер MS SQL + ODBS + клиентская часть на Visual FoxPRO. Все без проблем.
Понадобилось перенести базу на MySql. Развернул сервер MySQL, настроил связку MySQL + ODBS + клиентская часть на Visual FoxPRO. Все работает без проблем. Но вопрос !!!

Когда один из пользователей вносит изменения в таблице, другой их не видит до тех пор пока первый не покинет задачу. Я понимаю что это особенность MySQL но не могу понять где эта собака зарыта. В MS SQL таких проблем нет. Помогите если кто с этим сталкивался.

Проверил set autocommit=1. Единственное, у меня открывается сессия и закрывается только пока пользователь не покинет задачу. Перед каждым запросом CONNECT а затем DISCONNECT я не выполняю. Может в это проблема. Но MS SQL все в порядке.
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571167
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poisk32Прошу откликнутся кто сталкивался с таким. Может я не понимаю что делаю, но смысл в следующем.
Ранее я работал в связке сервер MS SQL + ODBS + клиентская часть на Visual FoxPRO. Все без проблем.
Понадобилось перенести базу на MySql. Развернул сервер MySQL, настроил связку MySQL + ODBS + клиентская часть на Visual FoxPRO. Все работает без проблем. Но вопрос !!!

Когда один из пользователей вносит изменения в таблице, другой их не видит до тех пор пока первый не покинет задачу. Я понимаю что это особенность MySQL но не могу понять где эта собака зарыта. В MS SQL таких проблем нет. Помогите если кто с этим сталкивался.

Проверил set autocommit=1. Единственное, у меня открывается сессия и закрывается только пока пользователь не покинет задачу. Перед каждым запросом CONNECT а затем DISCONNECT я не выполняю. Может в это проблема. Но MS SQL все в порядке.

1. Что говорит:

Код: sql
1.
 ?sqlgetprop(hnd, 'Transaction')



2. Открывать и закрывать соединение не надо, на слабых линиях можно использовать SQLIDLDISCONNECT()
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571224
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poisk32 Когда один из пользователей вносит изменения в таблице, другой их не видит до тех пор пока первый не покинет задачу. Я понимаю что это особенность MySQL но не могу понять где эта собака зарыта.
Это точно, что "пока первый не покинет задачу"?
Если так, то надо смотреть настройку блокировок, которые накладываются как на таблицу, так и на записи со стороны сервера MySQL.
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571235
poisk32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.poisk32 Когда один из пользователей вносит изменения в таблице, другой их не видит до тех пор пока первый не покинет задачу. Я понимаю что это особенность MySQL но не могу понять где эта собака зарыта.
Это точно, что "пока первый не покинет задачу"?
Если так, то надо смотреть настройку блокировок, которые накладываются как на таблицу, так и на записи со стороны сервера MySQL.

Точно пока не не выйдет из задачи !
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571238
poisk32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistpoisk32Прошу откликнутся кто сталкивался с таким. Может я не понимаю что делаю, но смысл в следующем.
Ранее я работал в связке сервер MS SQL + ODBS + клиентская часть на Visual FoxPRO. Все без проблем.
Понадобилось перенести базу на MySql. Развернул сервер MySQL, настроил связку MySQL + ODBS + клиентская часть на Visual FoxPRO. Все работает без проблем. Но вопрос !!!

Когда один из пользователей вносит изменения в таблице, другой их не видит до тех пор пока первый не покинет задачу. Я понимаю что это особенность MySQL но не могу понять где эта собака зарыта. В MS SQL таких проблем нет. Помогите если кто с этим сталкивался.

Проверил set autocommit=1. Единственное, у меня открывается сессия и закрывается только пока пользователь не покинет задачу. Перед каждым запросом CONNECT а затем DISCONNECT я не выполняю. Может в это проблема. Но MS SQL все в порядке.

1. Что говорит:

Код: sql
1.
 ?sqlgetprop(hnd, 'Transaction')



2. Открывать и закрывать соединение не надо, на слабых линиях можно использовать SQLIDLDISCONNECT()

?sqlgetprop(hnd, 'Transaction') - ответ 2
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571251
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
poisk32?sqlgetprop(hnd, 'Transaction') - ответ 2

1. (По рабоче-крестьянски) после создания соединения где-то выдаётся инструкция:

Код: sql
1.
sqlsetprop(hnd, 'Transaction', 2) 



надо её переписать либо добавить

Код: sql
1.
sqlsetprop(hnd, 'Transaction', 1) 



2. (Если делать как правильные пацаны :) ), то после команды сохранения необходимо выполнить:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
* Завершаем ручную транзакцию
IF SQLCOMMIT(hnd) = 1

ELSE
	SQLROLLBACK(hnd)
ENDIF 
** следующая строчка опциональная
SQLSETPROP(hnd,"Transactions",1)
...
Рейтинг: 0 / 0
FoxPro + MySQl
    #38571264
poisk32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWistpoisk32?sqlgetprop(hnd, 'Transaction') - ответ 2

1. (По рабоче-крестьянски) после создания соединения где-то выдаётся инструкция:

Код: sql
1.
sqlsetprop(hnd, 'Transaction', 2) 



надо её переписать либо добавить

Код: sql
1.
sqlsetprop(hnd, 'Transaction', 1) 



2. (Если делать как правильные пацаны :) ), то после команды сохранения необходимо выполнить:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
* Завершаем ручную транзакцию
IF SQLCOMMIT(hnd) = 1

ELSE
	SQLROLLBACK(hnd)
ENDIF 
** следующая строчка опциональная
SQLSETPROP(hnd,"Transactions",1)



Большое спасибо !! Уже сам понял по Вашей подсказке. Еще раз спасибо !
Если интересно то ошибка была в том, что для MS SQL SQLCONNECT я строил в project и там есть соответствующая строка Automatic Transaction. Для MySql я использовал SQLSTRINGCONNECT где по умолчанию наверно Transaction в ручном режиме.

Теперь все в норме. Еще раз спасибо. Тема закрыты
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FoxPro + MySQl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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