Имя: Пароль:
1C
1С v8
как записать дбф через adodb.connection на х64 сервере
,
0 ботаникус
 
06.12.11
10:41
DBConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
   "Data Source=" + Path + ";" +
   "Extended Properties=""DBASE IV;"";");
для х64 такая строка подключения не годится
http://www.connectionstrings.com/dbf-foxpro - здесь написано что нет провайдера для Microsoft.Jet.OLEDB.4.0 64-битных систем.
Какие есть варианты?
1 ZanderZ
 
06.12.11
10:44
(0) у меня
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Каталог + ";Extended Properties=""DBASE IV;"";"
работает на x64
2 ботаникус
 
06.12.11
10:46
а сервер 1с  - х64? или роли не играет?
3 ZanderZ
 
06.12.11
10:46
(2) да сервер не играет роли - стоит x64
4 ботаникус
 
06.12.11
10:51
(3) ладно, будем пробовать, спасибо
5 Ёпрст
 
06.12.11
10:54
мот того, фоксовый провайдер сперва скачаешь с сайта мелкомягких и установишь ?
:))
А любую строку подключения проще всего делать через udl файлик.
6 ботаникус
 
06.12.11
11:13
(5) я конечно дико извиняюсь, но что-то не могу найти поиском по микрософту это провайдер... не поможете ссылкой?
7 Ёпрст
 
06.12.11
11:17
8 ботаникус
 
06.12.11
11:32
(7) спасибо!
9 ботаникус
 
06.12.11
11:47
(7) там указано
System requirements
Supported Operating Systems: Windows 2000 Service Pack 3, Windows 98, Windows ME, Windows Server 2003, Windows XP
у меня 2008r2x64 То есть мне нужен какой-то другой провайдер?
10 Кириллка
 
06.12.11
11:54
(5)чета у меня не получилось с наскока на win2008x64 создать udl-файл. Выкрутился по-другому, разбираться не стал, но факт.
11 ботаникус
 
06.12.11
12:27
ZanderZ, а какой провайдер нужно установить чтобы заработала строка подключения
DBConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
   "Data Source=" + Path + ";" +
   "Extended Properties=""DBASE IV;"";");
на 64-битной ос?
12 Ёпрст
 
06.12.11
13:03
(10) у меня создается..win2008x64 sql2008 r2, даже dts настраивается через фоксовый провайдер в самом скуле.
13 Ёпрст
 
06.12.11
13:05
(9) нет, ставь этот
14 ботаникус
 
06.12.11
15:27
(13) а как будет выглядеть строка подключения для этого провайдера?
15 Ёпрст
 
07.12.11
08:59
"Provider=VFPOLEDB.1;Data Source=" + Path  + ";Mode=ReadWrite;Collating Sequence=MACHINE";
16 ботаникус
 
07.12.11
10:45
(15) спасибо, только ни черта не выходит
ставлю то что поссылке, но в udl  на закладке "поставщик данных" не появляется никакой VFP provider
17 Ёпрст
 
07.12.11
11:18
(16) а ты в EM посмотри при экспорте данных
:)
Там есть, да и .. и так всё работает.
18 ботаникус
 
07.12.11
12:20
(17) вот из ЕМ?
херня какая-то, запутался совсем
Дано: вин2008 64, + сервер 1с82 х64
Мне в серверной(! , то есть приложение тоже 64) процедуре надо записать дбф. На вин2003 32бит я пользовался строкой подключения из первого поста. Но для 64 Microsoft.Jet.OLEDB.4.0 не существует. В нете везде пишут типа все эти провайдеры можно юзать только из 32-разрядных приложений. Как быть?
Поставил фокс-про провайдера пишет "поставщик данных не найден"...
19 Ёпрст
 
07.12.11
15:10
КаталогИБ = "D:\Base77\";
ОлеДБ = Новый COMОбъект("ADODB.Connection");
Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ + ";Mode=ReadWrite;Collating Sequence=MACHINE";
ОлеДБ.Open(Соединение);
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = ОлеДБ;
Command.CommandText = "
   |Select
   |    iddoc
   |from 1sjourn
   |";
RecordSet = Новый COMОбъект("ADODB.RecordSet");    
RecordSet = Command.Execute();
Если not RecordSet.EOF() Тогда
   RecordSet.MoveFirst();
   Пока RecordSet.EOF() = 0 Цикл
             Сообщить(RecordSet.Fields.Item("iddoc").Value);
         RecordSet.MoveNext();  
   КонецЦикла;
КонецЕсли;
RecordSet.Close();
20 Ёпрст
 
07.12.11
15:11
+19 думаю, запрос на insert и сам напишешь..
21 Ёпрст
 
07.12.11
15:11
+20 да, на W2008x64 усё работает, если че.
22 ботаникус
 
07.12.11
15:53
(20) спасибо, у меня запрос есть и отлично работает
но в W2008x64 валится на строке
ОлеДБ.Open(Соединение);
с ошибкой "не удается найти указанного поставщика. Вероятно, он установлен не правильно"
Как его правильно установить, как проверить? голову уже сломал
23 Ёпрст
 
07.12.11
17:23
(22) обычный сетап с сайта мелкомягких и привет..
24 Ёпрст
 
07.12.11
17:26
http://zalil.ru/32219332

пробуй этот, что ли.
25 ботаникус
 
08.12.11
11:40
(24) я наверное вас уже достал, но если можно еще спрошу
Все работает, но только в клиентской процедуре, в серверной никак (вероятно потому что сервер x64) (ошибка "не удается найти указанного поставщика"). Есть ли способ как - то разрулить эту ситуацию? спасибо
26 Ursus maritimus
 
08.12.11
11:43
(25) Вероятно потому, что в клинтской процедуре работает на клиенте, а в серверной на сервере. Соответсвенно дрова должны стоять на сервере и файлы лежать там же...
27 ботаникус
 
08.12.11
12:04
(26) я все пробую на сервере делать, поэтому дело не в этом
28 ботаникус
 
08.12.11
12:20
решение найдено, если кому интересно расскажу
29 Ёпрст
 
08.12.11
12:24
рассказывай, у меня, если че, на самом серваке усё работает..
30 ботаникус
 
08.12.11
12:33
поставил дрова отсюда
http://www.microsoft.com/download/en/details.aspx?id=13255
коннекшенстринг сделал такой

Соединение = "Provider=Microsoft.ACE.OLEDB.12.0;" +
   "Data Source=" + Path + ";" +
   "Extended Properties=""DBASE IV;"";";
вроде работает

(29) может у вас есть идеи почему у меня может не работать?
31 Ёпрст
 
08.12.11
12:38
(30) хз, мот ребут сервака сделать?
Не знаю, если честно.
32 Ёпрст
 
08.12.11
12:39
+31 права на установку и т.д., есть хоть на сервачок ?
33 ботаникус
 
08.12.11
12:54
(32) уже просил админа ставить, один х...
Независимо от того, куда вы едете — это в гору и против ветра!