Вниз
Скачать: 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-93022
AndrewK
2002-11-19 10:55
2002.11.28
Как сохранить путь к файлу в типизированном файле?


14-93246
Николай Быков
2002-11-10 16:29
2002.11.28
....................


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


3-92881
Сергей Чурсин
2002-11-10 21:41
2002.11.28
Interbase и Force write enabled


4-93298
Zone_666
2002-10-18 00:53
2002.11.28
Как заблокировать доступ к папке (к каталогу)




   Наверх