![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
убрать монопольный доступ [D7, Access]
MishaLuk © (2008-05-14 16:06:00)база - MS Access на сервере,
с ней работают проект на VB Studio (ASPX) и программа на delphi
delphi блокирует базу и использование базы совместно не получается, aspx говорит что файл занят
как это разрулить?
из delphi - ADOConnection1
Provider=MSDASQL.1;Persist Security Info=False;Data Source=daf1;Extended Properties="DSN=daf;DBQ=C:\MyWebForm\d1.mdb;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
из VB - OdbcConnection1
MaxBufferSize=2048;FIL=MS Access;DSN=monit;PageTimeout=5;UID=admin;DriverId=25
ADOConnection.Mode ставлю cmShareDenyNone все равно пишет
ERROR [IM006] [Microsoft][Диспетчер драйверов ODBC] Ошибка SQLSetConnectAttr драйвера
ERROR [HY000] [Microsoft][Драйвер ODBC Microsoft Access] Невозможно использовать '(нет данных)'; файл уже используется.
те похоже Delphi устанавливает монопольный доступ
как его отменить?
подскажите, не встречался с таким
спасибо
MishaLuk (2008-05-16 15:28:00) [1]надо было на паку с базой дать "все" полный доступ в "безопасность"
где про это почитать??
потому что встречал что даешь "все" полный доступ и перестает прога работать
спасибо
MishaLuk (2008-05-16 15:07:00) [2]фантастика
перенес с компа где разрабатываю на комп где будет все эскплуатироваться
и все работает (дельфи с aspx)
разница- другие настройки доступа на папку и настройки IIS?
подскажите пожалуйста где можно толково прочитать про общий доступ и безопасность
очень это нервы мотает , меняю, а смысла до конца не понимаю
спасибо большое
sniknik (2008-05-16 14:54:00) [3]> извините мне кажеться если бы не было то не писала бы файл уже используется
разобраться почему '' вместо имени файла нужно обязательно.
+ по теме
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1208237063&n=1
sniknik (2008-05-16 14:44:00) [4]> и как дельфи может убивать БД?
никак.
см. [1]
> только если так написано (специально/случайно), сам по себе никогда.
MishaLuk (2008-05-16 14:08:00) [5]
> запусти 2 копии своей страницы, без проги на делфи, вторая
> что выдает?
работают вместе две страницы нормально
> под каким юзером? у него есть права на папку с базой, он
> может менять файл блокировок?
пока это крутиться все на локальной машине под администратором компа +domain admins
> Это часть сообещения <'';> таких баз конечно нет.
извините мне кажеться если бы не было то не писала бы файл уже используется
и как дельфи может убивать БД?
спасибо
Anatoly Podgoretsky (2008-05-16 13:12:00) [6]Это часть сообещения <'';> таких баз конечно нет.
sniknik (2008-05-16 13:02:00) [7]> aspx работает :(
под каким юзером? у него есть права на папку с базой, он может менять файл блокировок?
запусти 2 копии своей страницы, без проги на делфи, вторая что выдает?
MishaLuk (2008-05-16 12:48:00) [8]поменял и в дельфи и в VB
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyWebForm\d1.mdb;Persist Security Info=False
все равно при работающей дельфи aspx страница выдает
Exception Details: System.Data.OleDb.OleDbException: Невозможно использовать ''; файл уже используется.
дельфи закрываю и aspx работает :(
sniknik (2008-05-16 12:41:00) [9]вернее вот так, в дельфи тоже поменяй
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyWebForm\d1.mdb;Persist Security Info=False
sniknik (2008-05-16 12:38:00) [10]> как это решить?
строку подключения в VB сделай такую же ка в дельфи.
Anatoly Podgoretsky (2008-05-16 12:07:00) [11]> MishaLuk (16.05.2008 11:41:07) [7]
Так у тебя в VB запрещено, и при чем тут тогда Дельфи
MishaLuk (2008-05-16 11:41:00) [12]уже переписал все под Microsoft.Jet.OLEDB
и все равно
невозможно выполнение aspx страницы при запущенной программе на дельфи (обращаются к одной БД)
соединяюсь из VB (страница aspx) с БД через Microsoft.Jet.OLEDB соединение
Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Registry Path=;Jet OLEDB:Database Locking Mode=1;Data Source="C:\MyWebForm\d1.mdb";Mode=Share Deny Write;Jet OLEDB:Engine Type=5;Provider="Microsoft.Jet.OLEDB.4.0";Jet OLEDB:System database=;Jet OLEDB:SFP=False;persist security info=False;Extended Properties=;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Create System Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;User ID=Admin;Jet OLEDB:Global Bulk Transactions=1
программа на дельфи
в дельфи строка подключения
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyWebForm\d1.mdb;Mode=ReadWrite;Persist Security Info=False
невозможно выполнение aspx страницы при запущенной программе на дельфи
результат работы aspx страницы
Exception Details: System.Data.OleDb.OleDbException: Невозможно использовать ''; файл уже используется.
(хотя 2 копии программы на дельфи работают с одной БД , запщены одновременно)
как это решить?
sniknik (2008-05-14 19:40:00) [13]> эта заявка попала ко мне.
блин. опять не совсем точно. я не занимаюсь отгрузкой программ, просто я про это узнал, новый работник внедрения не знал как пришивается ключь на лицензии, и пришел почемуто ко мне за помощью. остальные вроде на выездах были... случайно в общем.
sniknik (2008-05-14 19:33:00) [14]не жаловались. ;)
конкретики не знаю, т.к. "у меня" это не совсем точно, точнее с моей программой у клиентов, узнали чисто случайно, гдето через пару месяцев они захотели добавить клиентов (место лицензируется) до 48-ми, и вот уже эта заявка попала ко мне.
сейчас кстати у них уже где то 80 мест, но уже с mssql-ем естественно.
Palladin (2008-05-14 17:48:00) [15]
> у меня както изза дурости менеджеров на аксесной базе 46
> пользователей работало
фигасе :) и как? jet держал?
sniknik (2008-05-14 17:47:00) [16]> как так может быть?
по разному может быть. что конкретно в твоем случае происходит ты не написал.
> те в принципе все должно работать вместе ?
и в принципе и без принципов, если написано без блокирования (по умолчанию так), и админ чегонибудь не то не запретил, то без проблем работает вместе (2, 3..5 коннектов, больше не рекомендуется, хотя может и больше (у меня както изза дурости менеджеров на аксесной базе 46 пользователей работало. недолго, как узнали поменяли на mssql)).
MishaLuk (2008-05-14 17:21:00) [17]может нет возможности в папке с базой файл блокировок создать.
как так может быть?
пока не работает прогр на Delphi есть возможность, а когда работает нет?
вы хотите сказать что проект на aspx не может создать свой файл блокировок потому что его создала прога на Delphi?
вообще этот случай типичен или нет?
те в принципе все должно работать вместе ?
спасибо
sniknik (2008-05-14 17:13:00) [18]> ADOConnection.Mode ставлю cmShareDenyNone
сюда лезть следует в последнюю очередь, а лучше вообще не трогать
readonly/монопольность может быть прописан в DSN, может сам файл базы запрещено редактировать, а может нет возможности в папке с базой файл блокировок создать.
это надо сначала проверять.
> те похоже Delphi устанавливает монопольный доступ
только если так написано (специально/случайно), сам по себе никогда.