Имя: Пароль:
1C
1С v8
Проблема: Provider VFPOLEDB.1 и x64
0 Rounder
 
15.02.17
10:50
Текущая ситуация: Windows Server 2003 x32, MS SQL Server 2005 Standard Edition x32, 1С 8.2 x32.

Обмен данными с внешними файлами (Dbf) осуществляем через Provider VFPOLEDB.1 (что-то вроде Соединение.Open("Provider=VFPOLEDB.1;Data Source=" + ПутьСпр + ";Collating Sequence=MACHINE;EXCLUSIVE=NO"))

Грядущая ситуация: Windows Server 2008 R2 x64, MS SQL Server 2005 Standard Edition x64, 1С 8.2 x64.

Уже готовы были мигрировать, оставалось только проверить обмен данными с DBF. И вот тут и вылезла проблема. Драйвера на x64 нету. Соответственно обмен отказывается работать.

Прошу помощи в поисках решения. Наверняка кто-нибудь с подобным сталкивался.
1 Кирпич
 
15.02.17
10:53
ну перепишите свои 20 строчек с VFP на чо нибудь другое
2 Rounder
 
15.02.17
10:55
+ (0) Обмен данными происходит в реальном времени и в режиме совместного доступа к DBF.
Может есть какие другие провайдеры для подобных задач под x64?
3 Кирпич
 
15.02.17
10:57
может advantage database поможет. они вроде извращались по dbf
4 Кирпич
 
15.02.17
11:01
но на счет совместного доступа конечно гарантий нету, если у вас система на фокспре работает, а 1с не через VFP
5 Кирпич
 
15.02.17
11:03
6 Кирпич
 
15.02.17
11:03
7 Rounder
 
15.02.17
11:07
(5) (6) Спасибо. Посмотрю.

Но вопрос остается открытым.
8 Кирпич
 
15.02.17
11:11
вроде поддерживает
Specifies the desired table type. Valid values include ADS_ADT, ADS_CDX, ADS_VFP, and ADS_NTX. The default is ADS_ADT.
9 Кирпич
 
15.02.17
11:12
(7) чуда ждешь? :)
10 Rounder
 
15.02.17
11:14
(9) Нет.
Пока буду разбираться с подсказанным, чтобы другие не считали что тема закрыта. Может еще идеи будут :)
11 Кирпич
 
15.02.17
11:16
(10) вот тебе help, чтобы два раза на мисту не бегать
http://devzone.advantagedatabase.com/dz/webhelp/Advantage11.1/index.html
12 Rounder
 
15.02.17
11:18
(11) Спасибо.
13 Кирпич
 
15.02.17
12:11
Проверил. У меня работает. Подключился, создал таблицу. Так что можно пользовать.
  connection := CreateOleObject('ADODB.Connection');
  connection.Open('Provider=Advantage OLE DB Provider; Data Source=c:\temp\data\tables; ServerType=ADS_LOCAL_SERVER; TableType=ADS_VFP;');
  connection.Execute('create table table1 (f1 char(20),f2 char(20))');
14 Rounder
 
15.02.17
13:09
(13) Спасибо за помощь.
Но есть нестыковки. Или я не разобрался.
У ADODB.Connection Execution возвращает количество затронутых запросом записей.
В случае провайдера Advantage OLE DB Provider у меня возвращается всегда 0.
При этом количество записей в результате запроса показывает общее, независимо от того поставил я ShowDeleted в Истина или Ложь.
15 Rounder
 
15.02.17
13:10
Хотя при обработке в цикле - затрагивает только не помеченные на удаление если ShowDeleted установлено в Ложь.
16 Кирпич
 
15.02.17
13:51
(15) ну вы там держитесь :)
в конце концов можно тупо запилить web-сервис, который будет работать с VFPOLEDB.1
17 Rounder
 
15.02.17
14:02
(16) :)
18 Torquader
 
15.02.17
14:38
Как вариант, можно написать отдельное приложение в 32-битах, и вызывать его из командной строки, складывая задание в файл.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс