|
|
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Есть запрос: INSERT INTO OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source= <"файл.mdb"> ;User ID=Admin;Password=')...<таблица> SELECT ... FROM... В серверной части(т.е. если работать на самом сервере) все работает нормально, но тот же запрос не работает на клиентской машине (если убрать insert-часть, то SELECT-часть работает, т.е. связь с сервером действует). Может проблема в строке OpenDataSource. У меня подозрение по поводу User ID=Admin. Может надо по-другому (всетаки клиент), но как именно я не знаю. Заранее благодарен за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 08:15 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
совсем забыл про ошибку, которая выдается "Не удается открыть базу данных, созданную в предыдущей версии приложения" Но версии и Access и SQL сервера идентичны на обоих машинах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 09:26 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Если тебе надо подконектиться к таблице из сервера то так: Dim db As Database, tdf As TableDef Set db = CurrentDb Set tdf = db.CreateTableDef("<имя таблицы>") PathToBase = путь к серверу tdf.Connect = ";DATABASE=" & PathToBase tdf.SourceTableName = <имя таблицы> db.TableDefs.Append tdf db.Close ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 09:41 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
не совсем то. коннект с сервером есть. проблема в том, что сервер не может открыть внешний mdb-файл (к серверу он отношения не имеет) пишет о несоответствии приложений (клиен написан на access97) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 10:09 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
И он тебе даже пишет почему не может открыть 'Microsoft.Jet.OLEDB.4.0' (клиен написан на access97) Используй более раннюю версию Jet (3.5 наверное) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 10:16 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
попробую. Кстати это не может быть из-за того, что запускаю-то я запрос с клиентской машины, а ссылка на файл локальная (на самом деле он находится тоже на клиентской машине). может нужно указывать полный сетевой адрес? И если так, то как сделать универсальную ссылку? Не писать же на каждом клиенте имя машины ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 10:56 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Ты запускаешь запрос на сервере, который коннектится к mdb, лежащему на клиенте??? Ты лучше так не делай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 11:04 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
может клиент обращается к MDB файлу который заблокирован другим подключением ? (этого же клиента или сервера) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 11:23 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Ну тогда ругань другая бы была (наверное) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 11:25 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Я для подобной задачи сделал Linked Server на mdb, а на нужную таблицу - View через OPENQUERY. В запросах - только имя View и вся настройка к mdb только на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2003, 11:32 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
извиняюсь за то что потерялся в самом разгаре решения моего вопроса, слишком большая разница во времени (с Москвой 6 ч) Так вот, объясняю какая на самом деле задача. Клиент (программа на Access97) находится на клиентской машине. Запрос создается программно и запускается программно с клиента, обращаясь к серверу (задача в том, чтобы перекинуть данные находящихся на сервере, в уже созданный mdb-файл на эту же клиентскую машину. файл приемник (указанный выше mdb) находится для простоты в тойже папке на клиенте где и сама программа клиент, но имеет немного другую структуру. Поэтому мне нужно подготовить запрос для каждой таблицы на сервере чтобы подогнать ее к структуре файла приемника, и потом Insert... Во как. Любой простой запрос к серверу работает, т.е. с сервером связь нормальная и проблем не возникает. Проблема наверно в том, что я не тот путь выбрал. Посоветуйте как это сделать. Напоминаю, я пользуюсь таким запросом Set qdf = CurrentDb.CreateQueryDef("") qdf.Connect = "ODBC; DRIVER={SQLServer};SERVER=<SrName>; Trusted_Connection=Yes; DATABASE=<DBName> qdf.SQL = "INSERT INTO OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source= <имя внешнего mdb-файла (находится на клиентской машине, где и сама программа-клиент)> ;Password=')... table( <список полей>) SELECT <список полей на сервере> (например dbo.table.name, и т.д.) FROM dbo.table" qdf.Execute Надею хоть и много, но понятно. С нетерпением жду ответов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 03:02 |
|
||
|
Проблема с клиентской частью серверного приложения
|
|||
|---|---|---|---|
|
#18+
Я по рекордсетам бегаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2003, 06:44 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32288307&tid=1678958]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 332ms |

| 0 / 0 |
