Имя: Пароль:
1C
 
Импорт в 1с из Access базы, защищенной файлом mdw
0 Дева
 
16.02.11
14:16
Как из 1с открыть базу mdb защищенную при помощи файла рабочей группы mdw?

Делаю так:

 ИмяПользователя= "администратор";
 Пароль="";
     
 СтрокаПодключения    = "Driver={Microsoft Access Driver (*.mdb)};";
 СтрокаПодключения    = СтрокаПодключения + "Dbq=" + Путь + "db1.mdb;";
 СтрокаПодключения    = СтрокаПодключения + "SystemDB=" + Путь + "security.mdw;";
 СтрокаПодключения    = СтрокаПодключения + "Uid=" + ИмяПользователя + ";";
 СтрокаПодключения    = СтрокаПодключения + "Pwd=" + Пароль + ";";
 Connection = Новый COMОбъект("ADODB.Connection");
 Connection.ConnectionString = СтрокаПодключения;
 Connection.Open();


получаю ошибку
Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Microsoft Access]Общий сбой Не удается открыть раздел реестра 'Temporary (volatile) Jet DSN for process 0xca0 Thread 0xca4 DBC 0xf8c19fc Jet'.
1 shuhard
 
16.02.11
14:19
2 vS
 
16.02.11
14:19
(0) фото?
3 dotmaster
 
16.02.11
14:20
может у тебя библиотека побита......или ветка в реестре....
4 dotmaster
 
16.02.11
14:21
%CommonProgramFiles%\System\ado\msado15.dll
5 Дева
 
16.02.11
15:06
был неправильно указан файл secured.mdw =(  
даж обидно =)
6 Дева
 
21.02.11
03:54
Тут ещё проблемка непонятная связанная с импортом из Акцесс. Может кто поможет?


   RS = Новый COMОбъект("ADODB.Recordset");

   ТекстЗапроса= "Select * from 000000000000_tovarnye_nakladnye
   |WHERE ( ([000000000000_tovarnye_nakladnye].sys_id)={guid {0057BE44-C8BB-4513-BEF0-131E42C01ED8}} )";
       

   RS.Open(ТекстЗапроса, Connection);


Тут получаю ошибку:

{Форма.Форма.Форма(304)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'sys_id=guid 0057BE44-C8BB-4513-BEF0-131E42C01ED8}'.
RS.Open(ТекстЗапроса, Connection);

Без конструкции WHERE работает нормально. Поле, по которому проводится отбор имеет тип "Код репликации". Мне оно немного не знакомо.
Единственное что я заметила, это то что в запросе написано ..."sys_id)={guid {00"... а в ошибке ..."sys_id=guid 00"...
Куда деваются фигурные скобки?
7 Jaap Vduul
 
21.02.11
04:27
(6)
Using literal GUIDs with the Microsoft Access ODBC driver
=========================================================

Because ODBC defines the curly brace as an escape code for vendor specific escape clauses, you must turn off escape clause scanning when you use literal GUIDs in SQL statements with the Microsoft Access ODBC driver.

Note that this functionality is not supported in the Microsoft Access ODBC driver that ships with MDAC 2.1 or later.
8 Дева
 
21.02.11
12:34
к сожалению английский моя слабая сторона =(
не поясните? Пожалуйста =(
9 borozavr
 
21.02.11
12:47
Фигурная скобка- код выхода для обработки специфических ситуаций поставщиков данных, поэтому необходимо отключить сканирование на коды выхода, когда используете строковые ГУИДЫ  в SQL операторах с помощью драйвера MS Access ODBC.
Этот функционал не поддерживается в версии драйвера ODBC поставляемом с MDAC 2.1 или позже.
10 Дева
 
21.02.11
12:57
а можно как для блонединки? =( Что отключить, где и как?
11 Дева
 
21.02.11
13:00
в администраторе источников данных в разделе "драйверы" нашла пункт "Microsoft Access Driver (*.mdb)" - напротив версия 4.00.6305.00
Значит с помощью этого драйвера корректного обращения к данному полю не возможно?
Есть ли другой метод обращения к Акцесс чтоб получился нужный запрос?
12 Дева
 
21.02.11
13:50
ну подскажите, пожалуйста!
13 borozavr
 
21.02.11
14:23
Попробуй так:
   ТекстЗапроса= "Select * from 000000000000_tovarnye_nakladnye
|WHERE sys_id=guid (0057BE44-C8BB-4513-BEF0-131E42C01ED8 )";
 

   RS.Open(ТекстЗапроса, Connection);
14 Дева
 
21.02.11
14:53
по-прежнему "пропущен оператор"


Спас одинарный апостроф, но без guid. Заработало так:


Select * from 000000000000_tovarnye_nakladnye
WHERE sys_id='{0057BE44-C8BB-4513-BEF0-131E42C01ED8}'
15 borozavr
 
21.02.11
15:02
(14) значит можно просто передавать строку с идентификатором, не пользуясь функцией guid (для драйвера все что между апострофами-строковая константа)
16 Дева
 
18.03.11
18:59
а как быть когда имя таблицы задано с фигурными скобками?
17 Дева
 
18.03.11
19:18
Запрос типа:

SELECT *
FROM [{5328AD88-D33B-45CF-89FB-EC6B96C3BB95}]
18 aleks-id
 
18.03.11
19:21
доколе? доколе, спрашиваю я вас, будет бесплатная помощь без фоток???
19 Дева
 
18.03.11
19:22
дык не было ещё помощи
20 Иван Болван
 
18.03.11
23:07
Света, будут сисьге, будет помошь, бес фотки ты нам не нужна, фирма благотворительностью не занимается
21 Дева
 
19.03.11
00:52
Видимо ваша фирма вообще ничем не занимается. Спасибо. без ваших оскорблений управились.