Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Причем выборка из измененной таблицы, показывает измененную запись, НО... Если рефрешим таблицу в ФОКСЕ, запись старая, уходим из фокса, загружаем по новой, вновь грузим таблицу-запись старая. Если кто наступал на грабли поделитесь, чтоб не больно полбу било КАК...или проблема в провайдере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 10:29 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Слишком мало информации. Вообще-то у мяня все работает... Нельзя ли более конкретно? - какие приложения - куски кода - буферизация - это свободные таблицы? - транзакции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 10:34 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Слишком мало информации. Вообще-то у мяня все работает... Нельзя ли более конкретно? - какие приложения 1c - куски кода Con = CreateObject("ADODB.Connection"); Com = CreateObject("ADODB.Command"); recset = CreateObject("ADODB.RecordSet"); StrCon="Provider=Microsoft.Jet.OLEDB.4.0; |Data Source=d:\ADODBTEL\; |Extended Properties=dBASE IV"; Con.Open(strCon); Cmd.ActiveConnection = Con; StrCom="UPDATE tel SET id_N='XXXXXX' where num='НННННН' and ret is null"; recset.CursorType=2; recset.LockType=2; recset=Execute(strcom); StrCom="select num,id_n,ret from tel where num='8462458488'"; recset=Execute(strcom); Так вот здесь select выдает измененную строку! - буферизация чего? - это свободные таблицы? да. - транзакции? вот здесь мне кажется что нужно явное подтверждение транзакции я прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 11:36 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Проблема уточнилась, оказывается не может измениться поле на котором стоит курсор-указаталь, т.е. в режиме редактирования поля. Как это поббороть, хотя бы получить сведения, редактируется ли в данный момент поле или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 14:12 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Раз никто не берется ответить, прийдется продолжить: Копать надо тут: recset.LockType=2; ('Pessimistic Lock) Таким образом если Вы начали что-то делать с записью, то уже никто больше сделать ничего не сможет. Если поменять значение на 3 то сохраняться будут последние изменения... Как проверить заблокирована запись или нет? Если в FoxPro то очень просто: Код: plaintext 1. 2. 3. 4. - транзакции со свободными таблицами можно применять только в VFP 9.0 :( авторПроблема уточнилась, оказывается не может измениться поле на котором стоит курсор-указаталь, т.е. в режиме редактирования поля. Как это поббороть, хотя бы получить сведения, редактируется ли в данный момент поле или нет? Если указатель стоит в FoxPro - то надо там поставить оптимистическую блокировку строки или таблицы - например Код: plaintext 1. И не забыть потом сохранить изменения (хотя при перемещении указателя запись сохранится автоматически, подавив любые изменения которые были внеснены кем-то за время вашего бездействия): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 23:06 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Да, кстати я тут у Вас не увидел OLE DB Provider VFP 8.0 У Вас Microsoft.Jet.OLEDB.4.0 - это абсолютно разные вещи, причем в первом намного меньше ошибок и проблем, чем в Jet :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.06.2004, 23:17 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
2 Sergey Ch: Спасибо за очень содержательный ответ!, Но вся проблема заключается в том, чтобы рулить(апдейтить, делать вставки, просмотр и т.д) таблицами из 1с(это как раз основное направление), потому что невозможно на данный момент отследить все изменения сделанные пользвателями в базе. А с помощью 1с, происходит регистрация пользователя, и логируются все действия с таблицами-таблицы свободные! Так вот чтобы отойти от оболочки Фокса, было принято решение сделать доступ из 1с, но в тоже время есть некоторые критические пользователи, которым все таки нужно оставить доступ к таблицам из Фокса, и вот тут и назрела проблема, как из 1с, делать изменения, когда на поле записи в Фоксе стоит указатель, а в это время 1с делает изменения, тут и получаетсЯ все описанное, т.е. 1с делает изменения, получает выборку, что изменения произошли, а на самом деле, никаких изменений нет и впомине. Так вот с этой проблемой как? ПЕРВИЧНО не ФОКС, а правильность изменений из 1с через OLE или ODBC! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 09:21 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Попробуем разобраться: 1. Можете ли Вы включить буферизацию в старую программу FoxPro? Если да, то ответ как это сделать смотрите выше... 2. Нельзя ли попробовать вместо Microsoft.Jet.OLEDB.4.0 использовать OLE DB VFPRO 8.0? Что - то я смутно припоминаю - в MS.JET были какие-то проблемы с обновлением данных (да и старый он очень как и глючный)... 3. Попробуйте поиграть с настройками: recset.CursorType=2; recset.LockType=2; Good luck! P.S. Может попробовать задать данный вопрос на форуме 1С? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 10:57 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
А написать OLE сервер для вашего набора данных не судьба? ___________________ Всё вышеизложенное есть моё частное мнение и не претендует на полноту изложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:14 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
Я имел ввиду написать на Фоксе.. Единственный минус - необходимость держать фоксовые библиотеки. ___________________ Всё вышеизложенное есть моё частное мнение и не претендует на полноту изложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:18 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
2 Chuveljov Andrew: Таблички на файловом сервере, доступ практически со всех раб. мест, на все раб местах используется 1с, зачем OLE server, когда совершенно ноормально использовать ОЛЕ клиента, проблема-то только в фоксе. 2 all: Спасибо всем за участие в разговоре. Проблема разрешилась. Все просто банально. Использовали JET, а надо было использовать нормальный ОЛЕ провайдер, сами короче накосячили, поставили нормальное ПО, и все заиграло! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 13:36 |
|
||
|
Проблема! Если заблокировать запись в таблице под VFPRO, а потом другим приложением с OLE DB VFPRO 8.0 делать изменения все ОК!
|
|||
|---|---|---|---|
|
#18+
andrewFOX2 Chuveljov Andrew: Таблички на файловом сервере, доступ практически со всех раб. мест, на все раб местах используется 1с, зачем OLE server, когда совершенно ноормально использовать ОЛЕ клиента, проблема-то только в фоксе. Та программа, которая обрабатывает OLE вызовы, называется OLE server, а та, которая пользучает результат - OLE client. Я сам в своё время пытался скрестить 1С с Фоксом. Отказался ввиду несостоятельности 1С на тех объёмах данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2004, 14:00 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=32579094&tid=1596252]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 473ms |

| 0 / 0 |
