Имя: Пароль:
1C
1С v8
Подключение к dbf из 1С8 через драйвер фокспро 9
0 Loko
 
04.08.16
05:34
всем привет! есть старая прога (на фокспро), которая хранит информацию в дбф-файле. нужно настроить обмен: из 1С добавлять туда новые записи. проблема в том, что в этой файле есть memo поля. просто добавить через XBase не получается.
установили на серваке фокспро 9. пытаюсь подключится через ADODB к файлу. не получается.

СтрокаПодключения="DRIVER={Microsoft FoxPro VFP Driver (*.dbf)};SourceDB=\\1C\data\; SourceType=DBF; Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=Yes;";
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open(СтрокаПодключения);

Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию



на серваке: windows (64) 2012. а odbc драйвер 32 разрядный может в этом проблема?
1 Loko
 
04.08.16
05:41
1С на серваке тоже 64 разрядная. когда в кофигураторе создаю новый внешний источник данных, видит только драйвер скл (64).
2 Loko
 
04.08.16
06:04
со своего компа windows 7 (32) получилось подключиться к дбф-ке. в т.ч. считать поля memo

ОлеДБ = Новый COMОбъект("ADODB.Connection");
Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ + ";Mode=ReadWrite;Collating Sequence=MACHINE";
ОлеДБ.Open(Соединение);
Command = Новый COMОбъект("ADODB.Command");
Command.ActiveConnection = ОлеДБ;
ТекстЗапроса = "
|select  *
|from sf01
|";
Command.CommandText = ТекстЗапроса;    
RecordSet = Новый COMОбъект("ADODB.RecordSet");    
RecordSet = Command.Execute();

вопрос 1: в чем разница между первым моим подключением (через драйвер) и нынешним (через провайдер)?
вопрос 2. все таки дело в разрядности виндовса? на серваке не работает также.
3 Loko
 
04.08.16
06:04
вопрос 3. как сделать запись в дбф-ку эту?
4 Kandellaster
 
04.08.16
06:10
скормить запросик с INSERT в Command
5 Loko
 
04.08.16
06:17
(4) запрос - это просто чтение файла. а мне нужно добавить новую запись.
6 Гобсек
 
04.08.16
06:19
Если создать файл dbf средствами 1С, то любая версия foxpro прочитает его без проблем.
7 Kandellaster
 
04.08.16
06:24
(5)
СтрокаЗапрос = "INSERT INTO tablename
VALUES ('значение', 'значение', 'значение');"
Command.CommandText = СтрокаЗапрос;    
RecordSet = Новый COMОбъект("ADODB.RecordSet");    
RecordSet = Command.Execute();

и таки не сработает штоле?
8 Loko
 
04.08.16
06:26
(6) вся проблема с полями memo. не работает 1С с этими полями.
9 Loko
 
04.08.16
06:26
(7) попробую. спасибо
10 NorthWind
 
04.08.16
06:28
(0) разница в том, что в первом случае вы пытаетесь использовать провайдер для odbc, который, в свою очередь, должен читать файл через драйвер odbc. Во втором случае вы используете провайдер visual fox pro, который работает с файлом напрямую.
11 NorthWind
 
04.08.16
06:30
Битность провайдеров должна совпадать с битностью процесса. Т.е. для сервака надо найти 64-битные провайдеры
12 NorthWind
 
04.08.16
06:31
или поставить 32-битный сервак, что вряд ли правильно
13 Loko
 
04.08.16
06:31
(10) ок. понял. спасибо.
а на сервере не работает именно из-за разрядности?
вообще в природе есть фокс про 64 для виндовс сервер 2012?
14 NorthWind
 
04.08.16
06:32
А провайдер Access фокспрошные файлы не ест? Он на МС 64-битный лежит...
15 NorthWind
 
04.08.16
06:37
Вообще поскольку ADO/OLEDB технология от Майкрософт, то я там бы и поискал провайдеров, могут быть вполне
16 Гобсек
 
04.08.16
06:38
(13)В нулевые годы Microsoft заявила, что разрабатывать 64-разрядную версию foxpro считает нецелесообразным и тем самым похоронила foxpro.
17 Loko
 
04.08.16
06:39
(14) смотрю на серваке в администрировании "Источники данных ODBC (64-разрядная версия)" там в драйверах только SQL Server стоит.
18 Loko
 
04.08.16
06:42
(7) ошибку выдает:
Произошла исключительная ситуация (Microsoft OLE DB Provider for Visual FoxPro): Must specify additional parameters.
19 Loko
 
04.08.16
06:51
(7) а, понял. я там наименования полей не указал. только значения.
20 Loko
 
04.08.16
07:47
(7) не идет все равно. не добавляется запись. видимо, как понимаю надо описать типы полей. Как это сделать?
21 Loko
 
04.08.16
07:56
Произошла исключительная ситуация (Microsoft OLE DB Provider for Visual FoxPro): Data type mismatch.
22 Горогуля
 
04.08.16
08:02
покажи уже какие значения и куда пытаешься писать
23 Loko
 
04.08.16
08:05

Nhl 09 Registration Code Hot

: The game is considered "abandonware" by the gaming community because it is no longer sold on digital storefronts like Steam, the EA App, or Epic Games Store. The Risks of Online "Code Generators"

It was a typical Wednesday evening for Alex, a die-hard hockey fan and avid gamer. He had just finished a long day of work and was looking forward to unwinding with some friendly competition on his Xbox 360. His game of choice? NHL 09, the latest installment in the popular hockey video game franchise.

: You can still find digital keys for the EA App on sites like

If you have a code but the game still won't activate, the issue might not be the key itself. Modern Windows operating systems (Windows 10 and 11) handle legacy DRM differently than Windows XP or Vista. 1. Run as Administrator

Even with a valid code, running NHL 09 on modern versions of Windows (10 or 11) requires specific adjustments: nhl 09 registration code hot

: Be cautious of websites offering "hot" registration codes or key generators. These are often scams or contain malware. Legitimate keys are occasionally available through third-party retailers like , though stock for this specific title is rare. Are you trying to recover a lost code or are you looking for a way to play the game on a modern PC?

Note: It is highly recommended to own a legal, physical copy of the game to ensure you are complying with copyright laws, even if you are searching for a replacement code. How to Install and Activate NHL 09 in 2026

Force to "On" and limit the maximum frame rate to 60 FPS to prevent the physics engine from breaking. The Modern NHL 09 PC Community

Searching for "nhl 09 registration code hot" online usually leads to legacy key-generator sites, sketchy forums, or outdated text files. Source Type Working Status Risks Involved 100% Working None (Requires purchasing physical media). Abandonware Archives Frequently Working Safe if sourced from reputable preservation sites. Public Key Lists Rarely Working Highly prone to installation "duplicate key" errors. Keygen Executables Extreme risk of malware, trojans, and adware. : The game is considered "abandonware" by the

In the end, the NHL 09 registration code wasn’t just anti-piracy—it was the digital handshake into a lifestyle of virtual hockey brotherhood, late-night entertainment, and pre-streaming era social gaming. For those who lived it, remembering that alphanumeric string is like recalling an old friend’s phone number: useless today, but full of stories.

Below is a comprehensive guide to understanding NHL 09 registration codes, how to install the game today, and how the modding community keeps this legendary title alive. Understanding the NHL 09 Registration Code System

Since official servers are down, the community keeps the game alive. You can find updated rosters, jerseys, and mods at the NHL 04 Rebuilt community forums, which often work for

In the late 2000s, video games weren’t just about the disc in the tray—they were about the community, the rituals, and the gatekeeping keys that unlocked them. For fans of EA Sports’ NHL 09 , the 25-character registration code (often found in the manual or on the back of the CD case) was more than a security measure. It was a passport to a digital lifestyle that blended hockey fandom with social entertainment. His game of choice

Once installed, you may encounter stability or graphics issues due to the age of the game engine. Here is how to fix the most common errors: 1. Game Crashes on Launch (No-CD Fixed Executable)

control panel settings specifically for the game's executable file. Controller Support

If you already own the game or recently purchased a digital copy, you can find the code through official channels: The Physical Case

24 Горогуля
 
04.08.16
08:08
такое впечатление, что сплошь строки пытаешься писать
25 Loko
 
04.08.16
08:10
(24) т.е. только строку надо в кавычках? число без? а мемо и булево?
26 NorthWind
 
04.08.16
08:10
(17) ну не стоит - найдите и поставьте
27 Loko
 
04.08.16
08:13
(26) в (16) написали, что нету 64-ой
28 Горогуля
 
04.08.16
08:13
(25) не скажу. 'false' - ну явно строка же ;)
29 NorthWind
 
04.08.16
08:15
(27) посмотрите в сторону провайдера для Access, вполне может быть что он делает то что вам надо. Он 64-битный - есть, скачивается с MS бесплатно
30 Loko
 
04.08.16
08:17
(28) точно .f. или .t. надо
31 Loko
 
04.08.16
08:17
(29) ок
32 Loko
 
04.08.16
08:19
в общем, получилось добавить запись) неправильно указывал значения. строка в одинарных кавычках, число без кавычек через точку в дробной части, булево - .f. или .t.

теперь осталось разобраться с разрядностью...
33 Горогуля
 
04.08.16
08:20
>просто добавить через XBase не получается.
оно как-то аргументирует?
34 Loko
 
04.08.16
08:22
(33) XBase не работает с типом поля memo
35 Kandellaster
 
04.08.16
08:28
каким боком у тебя там улануде ?))
36 Loko
 
04.08.16
08:36
(35) улан-удЭЭЭЭЭЭ. живу здесь
37 Loko
 
04.08.16
08:37
еще вопрос возник. а есть какие-нить механизмы блокировки дбф-файла в момент когда я записи свои буду добавлять?
38 Kandellaster
 
04.08.16
08:38
(36) я тоже там, живу
39 Гобсек
 
04.08.16
08:42
(37)Если мне память не изменяет, то foxpro при начале добавления записи автоматически делает блокировку заголовка и снимает по окончании. По логике в твоем случае эту работу автоматически должен делать драйвер.
40 Loko
 
04.08.16
08:43
(39) ок
41 Loko
 
04.08.16
09:08
пробую через акцес:
ОлеДБ = Новый COMОбъект("ADODB.Connection");
Соединение = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + КаталогИБ + ";Mode=ReadWrite;Collating Sequence=MACHINE";
ОлеДБ.Open(Соединение);

не открывается. ошибка:
{ВнешняяОбработка.ВыгрузкаВДБФ.Форма.Форма.Форма(80)}: Ошибка при вызове метода контекста (Open)
    ОлеДБ.Open(Соединение);
по причине:
Произошла исключительная ситуация (Microsoft Access Database Engine): Could not find installable ISAM.


провайдера мож неправильно указываю?
42 Горогуля
 
04.08.16
09:12
симптомы, причины, решения...
https://support.microsoft.com/en-us/kb/209805
43 Loko
 
04.08.16
09:17
да похоже нельзя открыть дбв через акцесс провайдер...
44 Loko
 
04.08.16
09:17
(43) дбф
45 Loko
 
04.08.16
09:26
СтрокаПодключения="DRIVER={Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)};SourceDB=\\1c\data\Bulat\; SourceType=DBF; Exclusive=No;BackgroundFetch=Yes;Collate=Russian;Null=No;Deleted=Yes;";
Соединение = Новый COMОбъект("ADODB.Connection");
Соединение.Open(СтрокаПодключения);

а вот так соединение проходит)

только новая ошибка синтаксиса при добавлении записи:

Syntax error (missing operator) in query expression '.f.'.
как булево записывается в акцесе?
46 ovrfox
 
04.08.16
09:28
(43) Можно, но только стандарта DBASE III (без полей memo)
47 SSSSS_AAAAA
 
04.08.16
09:31
Боже мой, сколько (уж извините за резкость) чуши на ровном месте...
1. Фокс только 32-битный  и дрова к нему тоже только 32-битные.
2. Список 32-битных дров на 64-юитных системах отдельный и никак не связан со списком 64-битных дров.
3. OLE DB Provider и ODBC - две разных технологии построения драйверов доступа к базам данных. конкретно для фокса ODBC драверы дрвнее мамонтов. Все фоксовые форматы дбф поддерживает только VFP OLE DB Provider.
4. Во спасение от будущих граблей :) - даты надо писать в формате {^yyyy-mm-dd}

В принципе, сего должно хватить для решения обсуждаемой пробемы. Разумеется, если это использовать с головой. :_
48 Loko
 
04.08.16
09:37
(47) это мы уже выяснили. с 32-х битного виндовса нормально подключаюсь через VFP OLE DB Provider. все работает.

ты уж извини меня неумного, но то, что ты перечислил - все это уже мы выяснили выше. конкретно как с сервера 64 разрядного подключится к дбф-ке?
49 SSSSS_AAAAA
 
04.08.16
09:37
Добавчик:
5. В подавляющем большинстве случаев сервер 1с 32-битный и потому во всех этих случаях ни о каких 64-битных дровах не может быть и речи.
50 Loko
 
04.08.16
09:39
(49) я сразу написал в первом посте что у нас сервер 1С 64 разрядный
51 SSSSS_AAAAA
 
04.08.16
09:43
(48) Да, похоже, таки еще не выяснили, раз такой вопрос задаешь.
Ну так и что непонятно из (49)? 64-битные приложения в принципе не умеют пользоваться 32-битными дровами.

Работать исключительно из 1с-вского клиента, даже если он и вместе сервером 1с на одной машине.
52 NorthWind
 
04.08.16
12:52
53 NorthWind
 
04.08.16
12:54
единственное что - я, честно сказать, уже плохо помню, получится там мемо-поля читать или нет.
54 SSSSS_AAAAA
 
04.08.16
13:36
(53) Получится, если строку коннекта сменит на рабочую с VFP OLE DB Provider.
55 Loko
 
05.08.16
04:40
(52) http://www.connectionstrings.com/using-jet-in-64-bit-environments/

как понял dbf не открываются через этот провайдер в 64-разрядной системе.
56 Loko
 
05.08.16
04:58
на локальной базе все норм работает.

на серваке:
{ВнешняяОбработка.ВыгрузкаВДБФ.Форма.Форма.Форма(32)}: Ошибка при вызове метода контекста (Open)
    DBConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" +
по причине:
Произошла исключительная ситуация (ADODB.Connection): Не удается найти указанный поставщик. Вероятно, он установлен неправильно.
57 Ёпрст
 
гуру
05.08.16
09:12
(56) дык поставь его, на серваке то. Чтоб хотя бы в udl был виден
58 Loko
 
08.08.16
09:40
подскажите синтаксис добавления даты в моем случае?

ДатаВ= Дата(Формат(DZAKL,"ДФ=dd.MM.yyyy"));

"INSERT INTO DOGOVOR VALUES ("+ДатаВ+")"

ошибка синтаксиса говорит
59 Ёпрст
 
гуру
08.08.16
09:43
Вот к такому виду приводи:
{d '2012-07-01'}
60 Loko
 
08.08.16
09:49
(59)т.е. дату мне так преобразовывать до инсерта:

Д = День(DZAKL);
М = Месяц(DZAKL);
Г = Год(DZAKL);

ДатаВ = "{d '"+Д+"-"+М+"-"+01+"'}";

?
61 Loko
 
08.08.16
09:49
ДатаВ = "{d '"+Д+"-"+М+"-"+Г+"'}";
т.е.
62 Loko
 
08.08.16
09:50
не идет так.

Произошла исключительная ситуация (Microsoft OLE DB Provider for Visual FoxPro): Произошла одна или несколько ошибок во время обработки команды.
63 Горогуля
 
08.08.16
09:50
видал в интернетах приколы по поводу даты. ^ перед или за { или что-то этакое.. ищи
64 Горогуля
 
08.08.16
09:50
+(63) в этой ветке тебе говорили даже
65 Loko
 
08.08.16
09:52
(64) ага в 47 увидел, попробую. спасиб
66 Горогуля
 
08.08.16
09:54
мущина! здесь же чат, а кто читает вчерашнее - тот лох
67 Loko
 
08.08.16
09:56
(66) ну не прочел. бывает.

запись, в общем, идет. но даты пустые...
68 Горогуля
 
08.08.16
09:57
(67) наверное, что-то не так, не?
69 Loko
 
08.08.16
10:00
ага, разобрался. числовые группы убрал в году)

все, работает. всем спасибо!
70 Горогуля
 
08.08.16
10:03
мда.. спасибо тебе (это не сарказм). у меня пока сохраняется вера в человечество. пока правильного намёка достаточно. и ответного "спасибо", конечно ;)
71 Ёпрст
 
гуру
08.08.16
10:10
(62) всё работает:

    КаталогИБ = "f:\";
    ОлеДБ = Новый COMОбъект("ADODB.Connection");
    Соединение = "Provider=VFPOLEDB.1;Data Source=" + КаталогИБ + ";Mode=ReadWrite;Collating Sequence=MACHINE";
    ОлеДБ.Open(Соединение);
    Комманд = Новый COMОбъект("ADODB.Command");
    Комманд.ActiveConnection = ОлеДБ;
    Комманд.CommandText = "insert into test ([date]) values ({d '2012-07-01'})";
      Комманд.Execute();


провайдер, этот, если че

https://www.microsoft.com/en-us/download/confirmation.aspx?id=14839
72 Loko
 
23.08.16
11:06
всем привет! это снова я)

в общем, получилось подключиться к дбф-ке через Provider = Microsoft.Ace.OLEDB.12.0 с сервака64. но проблема в том, что с мемо полями, как я понял, этот провайдер не работает (другие дбф-ки без мемо полей читает норм).

все-таки как Епрст подключается через Provider=VFPOLEDB.1? у меня упорно провайдера не видит. драйвер установлен также по ссылке как в (71).

скидываю скрин источников данных на серваке, смущает дата драйвера (1999 год). может в этом проблема?
http://upload.akusherstvo.ru/image1112606.png
73 Loko
 
23.08.16
11:07
вот здесь такая же проблема была, но там мемо полей не было. и тогда у Епрсты все ок было...
v8: как записать дбф через adodb.connection на х64 сервере
74 Ёпрст
 
гуру
23.08.16
11:08
(72) я хз, чего там у вас за серваки, у нас 2012 x64, хотя и на  2003 x64 hf,jnftn/
75 Loko
 
23.08.16
11:12
(74) а можете скрин сделать источников одбс как у меня в (72)?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший