|
|
|
| Доброго времени суток. Возник вопрос по Access 2003. Есть два сервера, на каждом лежит по рабочей базе. Нужно работая на одной, изменить значения полей в таблицах другой. Как можно это сделать программно, то есть как подсоединится к базе по сети на другом сервере? Понимаю, что вопрос вроде бы ерундовый, но что то ничего не получается. Помогите, кто знает. | |
|
| |
|
|
|
| а где находятся формы, запросы, отчёты?
типа интерфейс в какой из этих баз?
или он в отдельной базе? | |
|
| |
|
|
|
| если клиент "видит" оба сервера по netbios, то можно запросами
"Insert INTO Table1 IN '\\server2\share2\database2.mdb' SELECT ...."
или открыть adodb.connection к нужной базе в нем рекордсет и работать с ним. | |
|
| |
|
|
|
| Извините, уезжал, только сегодня приехал. Запросом не пойдет, надо именно через рекодсет. Оба сервера находятся в одной сети. А как использовать adodb.connection, понимаю что наглею, но можно чуть поподробней? | |
|
| |
|
|
|
| Ну в самом простом случае так (для ACCESS 2007)
Dim conRemote As New ADODB.Connection
Dim rstRemote As ADODB.Recordset ' удаленный рекордсет
Dim rstLocal As ADODB.Recordset 'локальный рекордсет
Set rstRemote = New ADODB.Recordset
Set rstLocal = New ADODB.Recordset
conRemote.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=EПутькФайлуСИменемИРасширением;Persist Security Info=False;"
rstLocal.Open "select * from ЛокальнаяТаблица", CurrentProject.Connection
rstRemote.Open "select * from УдаленнаяТаблица", conRemote
|
| |
|
| |
|
|
|
| Спасибо большое, буду пробовать. | |
|
| |
|
|
|
| Какая-то странная ситуация. Обычно - серверная часть ОДНА. Клиентов много...
В чем смысл двух серверных баз? | |
|
| |
|
|
|
| я конечно точно не знаю...
Но возможно необходимо физическое отделение данных, в целях безопасности.
Например в одна база финансовая, другая общая. Финансы только в финансовой базе, доступ строго ограничен правами windows. (Правда в этом случае можно использовать связанные таблицы из общей базы). | |
|
| |
|
|
|
| Права можно огрни чит и средствами самой базы.. | |
|
| |
|
|
|
| ну ДФ ....
Это ж не защита, а фикция.
Приходят серьезные ребята и говорят, а вот где тут у вас база договоров с клиентами.... Если все в одном файле, то они увидят все... это кончено не является доказательством, но может стать поводом для дополнительных вопросов.
А если данные по реальным финансам в другом месте, то можно легко отдать базу с договорами.
Лет 14 назад, делал базу для одной фирмы.
Схема такова, есть общая база с которой работают 8-10 чел менеджеров, отслеживая прохождение договора от заключения до установки клиенту. В ней есть разделение прав, кто что может видеть и когда. В ней есть все данные для любых отчетов (сколько чего и когда заказывали, столько и чего нужно на данной неделе закупить у поставщиков, кто и когда звонил клиенту, кто доставлял заказ и какой машиной).
Все кроме реальных цифр по деньгам.
Часть этой базы (спец процедурой) скидывается на флешку и уносится на отдельный комп, где "вливаются" (обновляя и добавляя данные) в базу с финансами. Где отслеживаются реальные оплаты клиентов и оплаты поставщикам. Ну и прочие поступления/расходы денег.
На ноуте с финансами, были напрочь порезаны права (проводник запустить было нельзя) и распознавал он только одну флешку, на которой данные из общей базы и приносились.
После выполнения заказа получил оговоренную сумму. А через 2 недели от них позвонили и сказали что провели тестирование и АУДИТ!!!! моей программы и хотят выдать мне премию. ( я не стал отказываться) | |
|
| |
|
|
|
| Не, для такого случая -оно конечно. | |
|
| |
|
|
|
| этот коммент надо удалить. | |
|
| |
|
|
|
|
|
Хотя срок давности вышел. | |
|
| |
|
|
|
|
| названия фирмы нет (да и не помню уже), точной даты реализации нет, города нет, контакта с фирмой нет. И вообще я это все придумал. | |
|
| |
|