Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-93003
KidMan
2002-11-13 00:43
2002.11.28
Word и свойства Font


14-93211
VID
2002-11-08 18:42
2002.11.28
Для воспроизведения...


14-93208
PaRL
2002-11-09 21:13
2002.11.28
Бинарная система - это круто.


3-92928
Sergh Bear
2002-11-09 02:32
2002.11.28
Добавление текущей даты в DBGrid


3-92917
Skolotovich
2002-11-11 15:58
2002.11.28
проблема с редактированием БД




   Наверх