powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк в многопользовательском режиме.
25 сообщений из 28, страница 1 из 2
Глюк в многопользовательском режиме.
    #38698116
Vas_i_lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня.
На ФОКСЕ работаю более 10 лет, и все равно иногда попадаю в тупик.
Проблема следующая.
Есть многопользовательская задача, написанная лет 5 назад. Работает прекрасно на двух объектах.
Т.е., все уже отлажено и сопровождения практически не требует.
Потребовалось установить задачу на третий объект.
Не могу организовать совместный доступ.
На основной машине (где расположена база) - проблем нет.

Если пытаюсь зайти со второго рабочего места - ничего не выходит, даже если пользователь первого рабочего места не работает с задачей, т.е файлы не заняты.

Блок, на котором выдает ошибку

---------------------------------
IF NOT USED('z_begin')
SELECT 0
USE i_put+'z_begin''
ELSE
SELECT z_begin'
endif

append blank
---------------------------------

Текст ошибки Cannot update the cursor z_begin, since it is read-only

-------------------------------------------------
1. SET EXCLUSIVE OFF установлено в головной программе. ТОЧНО УСТАНОВЛЕНО !!!
2. Доступ к папке проверен - со второй машины могу копировать и коррректировать файлы на основной машине в ВОРДЕи текстовом редакторе.
3. При чем здесь вообще курсор, если я открываю таблицу напрямую?

М.б, у кто-то сталкивался с подобным поведением?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38698120
Vas_i_lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD Атрибуты файлов на основной машине тоже проверены. Никаких "только для чтения" не установлено.
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38698144
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vas_i_lisaUPD Атрибуты файлов на основной машине тоже проверены. Никаких "только для чтения" не установлено.

Дать "сетевому" пользователю права на изменение на расшаренном ресурсе (опыт с созданием файла на шаре, говорит о том, что для создателя действительно установлены полные права).
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38698198
<>
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А где создаются разные Temp-файлы?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38698205
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<>А где создаются разные Temp-файлы?

А вы с какой целью интересуетесь?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38698837
SoftwareBoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vas_i_lisaappend blank
Что перед этой командой показывает DBF('z_begin') ?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699482
Vas_i_lisa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWistДать "сетевому" пользователю права на изменение на расшаренном ресурсе (опыт с созданием файла на шаре, говорит о том, что для создателя действительно установлены полные права).

Насколько я понимаю, права уже даны на полный доступ. Иначе я не могла бы редактировать в этой папке файлы в ВОРДЕ и текстовом редакторе с рабочего места "сетевого" пользователя. А они прекрасно редактируются.
Т.е создается впечатление, что доступ блокируется именно средой ФОКСа, т.к. при работе пошагово непосредственно из командного окна выдается та же ошибка, причем на любой таблице.

<>А где создаются разные Temp-файлы?

На каждой машине создан СВОЙ каталог для рабочих и временных файлов.

SoftwareBoyЧто перед этой командой показывает DBF('z_begin') ?

Проверю при первой возможности. К сожалению, на этом объекте бываю не каждый день.
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699494
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antivirus?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699496
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USE i_put+'z_begin'' SHARED
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699730
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vas_i_lisa

Надо вместо

Код: sql
1.
2.
3.
4.
5.
6.
IF NOT USED('z_begin')
SELECT 0
USE i_put+'z_begin''
ELSE
SELECT z_begin'	
endif	




так:

Код: sql
1.
2.
3.
CLOSE DATABASES 
SET EXCLUSIVE  OFF
USE &i_put.z_begin ALIAS z_begin



Кстати, у вас там с кавычками непорядок.
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699740
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще лучше:
Код: sql
1.
2.
3.
4.
5.
IF USED('z_begin')
    USE IN z_begin
ENDIF
SELECT 0
USE &i_put.z_begin ALIAS z_begin
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699851
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы сказали блок, а где этот блок не сказали, если этот блок на форме, то надо проверить DE, в DE обычно тоже открываются файлы, надо посмотреть там, и если специально туда их не добавляли, а открытие таблиц идёт в другом месте, то удалите их в DE, А также можете использовать конструкцию
IF NOT USED('z_begin_A')
SELECT 0
USE i_put+'z_begin'' alias z_begin_A Again shared
ELSE
SELECT z_begin_А'
endif
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38699947
Pulsar_pА еще лучше:
Код: sql
1.
2.
3.
4.
5.
IF USED('z_begin')
    USE IN z_begin
ENDIF
SELECT 0
USE &i_put.z_begin ALIAS z_begin

А еще правильней таки выкинуть макроподстановку, она тут совершенно ни к чему. Впрочем, как и проверки. Точнее, все можно сделать одной командой:
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN z_begin 
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700335
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правильный проходящий.
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN z_begin 



Не взлетает...
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700341
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_pправильный проходящий.
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN z_begin 



Не взлетает...
Так и пишет - Не взлетаю?
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700348
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IF NOT USED('z_begin')
USE (i_put+'z_begin') in 0 Shared Again
ELSE
SELECT z_begin
endif
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700349
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IF NOT Select('z_begin')=0
USE (i_put+'z_begin') in 0 Shared Again
ELSE
SELECT z_begin
endi
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700351
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IF Select('z_begin')=0
USE (i_put+'z_begin') in 0 Shared Again
ELSE
SELECT z_begin
endi
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700781
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovPulsar_pпропущено...


Не взлетает...
Так и пишет - Не взлетаю?

Код: sql
1.
2.
3.
4.
5.
6.
CLOSE DATABASES 
i_put=[D:\TEMP\]
CREATE TABLE &i_put.z_begin (aaa l)
USE 
USE (i_put.z_begin) ALIAS z_begin IN z_begin && Ошибка (Не взлетаю)
USE &i_put.z_begin ALIAS z_begin && Полет нормальный (Моя версия)
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700789
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое интересное, при
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN z_begin


Ошибка получается разная, в зависимости от того открыта таблица z_begin или нет
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700791
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pulsar_pСамое интересное, при
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN z_begin


Ошибка получается разная, в зависимости от того открыта таблица z_begin или нетВидимо, подразумевалась такая конструкция:
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN Select("z_begin")


Для Create table макроподстановка тоже не нужна:
Код: sql
1.
CREATE TABLE (i_put.z_begin) (aaa l)
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700832
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey SizovДля Create table макроподстановка тоже не нужна:
Код: sql
1.
CREATE TABLE (i_put.z_begin) (aaa l)
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700833
Pulsar_p
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov................
Видимо, подразумевалась такая конструкция:
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN Select("z_begin")


.................

Тоже не взлетает...
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38700848
Pulsar_pSergey Sizov................
Видимо, подразумевалась такая конструкция:
Код: sql
1.
USE (i_put.z_begin) ALIAS z_begin IN Select("z_begin")


.................

Тоже не взлетает...Разумеется. О причинах предлагается подумать самостоятельно. Для этого внимательно посмторите на свой код и на сообщение об ошибке. Если сами не догадаетесь, то обращайтесь, но потрудитесь в дальнейшем не скриншотить ибо вся работа только с текстом. И поменьше отсебятины.
...
Рейтинг: 0 / 0
Глюк в многопользовательском режиме.
    #38701201
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USE ( i_put.z_begin ) ALIAS z_begin IN Select("z_begin")

где вы такой синтаксис вычитали?

i_put.z_begin -> i_put+'z_begin'
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк в многопользовательском режиме.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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