Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.28;
Скачать: CL | DM;

Вниз

Открытие табличек только на чтение через ADO   Найти похожие ветки 

 
kombat ©   (2002-11-12 15:54) [0]

Уважаемые мастера! Может кто-то подскажет как при использовании TADOConnection и TADOQuery открывать файлы табличек в режиме Read, а не Read+Write (имеется ввиду права на файл в системе), а то при открытии по умолчанию файл блокируется и другие пользователи не могут в него писать. А данная задача вообще должна только читать данные.


 
Kuusiniemi ©   (2002-11-12 16:08) [1]

ConnectionString := "...;Mode=Read|Share Deny None;..." не подойдет?


 
stone ©   (2002-11-12 16:10) [2]

LockType := ltReadOnly


 
kombat ©   (2002-11-12 16:19) [3]

в файле настроек соединения стоит [oledb]
[oledb]
; Everything after this line is an OLE DB initstring
Provider=MSDASQL.1;Password="";Persist Security Info=True;User ID=user; Mode=Read;Extended Properties="Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=w:\Account\Work;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;";Initial Catalog=w:\Account\Work

TADOConnection.Mode=cmRead
TADOQuery.CursorType=ctStatic
TADOQuery.LockType=ltReadOnly

И все это не помогает
даже делая TADOConnection.Close
Локи с файлов не снимаются до закрытия приложения


 
kombat ©   (2002-11-12 16:24) [4]

Share Deny None
тоже не помогает


 
sniknik ©   (2002-11-12 16:30) [5]

просто без наворотов
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=dBase IV;Persist Security Info=False
по умолчанию Share Deny None

а вот то что TADOConnection.Close не помогает подозрительно, гдето еще открыт (отладчик Дельфи?) посмотри программа должна стартовать со значением TADOConnection.Active = false.


 
sniknik ©   (2002-11-12 16:43) [6]

то же самое для твоего ОДБС-шного драйвера
Provider=MSDASQL.1;Extended Properties="DRIVER={Microsoft Visual FoxPro Driver};SourceDB=d:\;SourceType=DBF;"

проверь, после будеш параметры добавлять, только зачем? если они остаются теми же что по умолчанию действуют.


 
kombat ©   (2002-11-12 17:13) [7]

Я сменил провайдера в udl файле, подействовало
[oledb]
Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=w:\account\work\;Mode=Read|Share Deny None;Extended Properties=dBase IV;Persist Security Info=True
что интересно, открытых файлов вообще нет, т.е. открываемый файл через расшареный ресурс не отмечен как открытый
Параметры во всех ADO объектах оставил как раньше, т.е. Read
Есть еще вопрос, как в тексте SQL передать имя таблички с путем
вот так ругается qPmnt.SQL.Text := " SELECT * FROM "+#39+ Trim(sFileName)+#39+" ORDER BY Date_opl, Naim "



Страницы: 1 вся ветка

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-92976
Николай Быков
2002-11-16 18:56
2002.11.28
Что-то не так в исходничке, однако :-(


14-93210
RV
2002-11-10 09:41
2002.11.28
Как вы думаете?


3-92946
Youri
2002-11-12 11:21
2002.11.28
User abort!


1-93120
Cker
2002-11-16 22:47
2002.11.28
Минимизация формы...


6-93164
VID
2002-10-02 20:25
2002.11.28
Что-то непонятное с onCLientRead