Ошибка поставщик vfpoledb 1 не зарегистрирован на локальном компьютере

Alright, so I’ve got a Windows service that has a FileSystemWatcher that watches an output folder for some Visual FoxPro database files. And it leverages the VFPOLEDB.1 provider to read those files. I cannot go away from this provider because it’s being used in production.

However, I’ve never had to support this application before so that’s why my development box isn’t setup for it. Here is my environment:

  • Windows 7 x64
  • Visual Studio 2005
  • .NET 2.0 Windows service

so, when I first started getting the error I figured I just didn’t have the provider at all, and I was right. So, I downloaded and installed it from here.

I then proceeded to drop the files in the folder again, but I got the same error.

I figured because it’s an x64 machine I might be experiencing problems with it getting registered since it was probably dropped into SysWOW64, and it was as I expected, so I ran this command:

regsvr32 "C:WindowsSysWOW64mscomct2.ocx"

and it said it was successfully registered (which means about nothing LOL) but I dropped the files in again — same error.

I have not yet rebooted my machine, and I can if somebody has a compelling reason that’s the problem, but generally speaking if the assembly is registered properly with regsvr32 that’s not necessary. I’ve worked with a ton of COM objects and never have to reboot to get to the object as long as I’ve registered it.

Does anybody know another step I need to perform to get this thing registered?

Can you please test this code (provided you have or created c:temp):

void Main()
{
    if (IntPtr.Size == 8)
    {
        Console.WriteLine("Sorry this is not going to work in 64 bits");
    }
    else
    {
        DataTable tbl=new DataTable();
        using (OleDbConnection con = new OleDbConnection(@"Provider=VFPOLEDB;Data Source=c:Temp"))
        {
            con.Open();
            new OleDbCommand("create table myTest (id int, dummy c(10))",con).ExecuteNonQuery();
            var cmd = new OleDbCommand(@"insert into myTest (id, dummy) values (?,?)",con);
            cmd.Parameters.Add("id", OleDbType.Integer);
            cmd.Parameters.Add("dum", OleDbType.VarChar,10);

            for (int i = 0; i < 10; i++)
            {
                cmd.Parameters["id"].Value = i + 1;
                cmd.Parameters["dum"].Value = $"Dummy#{i+1}";
                cmd.ExecuteNonQuery();
            }

            tbl.Load(new OleDbCommand("select * from myTest",con).ExecuteReader());
        }
        foreach (DataRow row in tbl.Rows)
        {
            Console.WriteLine($"{(int)row["id"]} : {(string)row["Dummy"]}");
        }
    }
    Console.ReadLine();
}

Or if you edit in Notepad and compile with csc:

using System;
using System.Data;
using System.Data.OleDb;
namespace Test
{
  class Test
  {

static void Main()
{
    if (IntPtr.Size == 8)
    {
        Console.WriteLine("Sorry this is not going to work in 64 bits");
    }
    else
    {
        DataTable tbl=new DataTable();
        using (OleDbConnection con = new OleDbConnection(@"Provider=VFPOLEDB;Data Source=c:Temp"))
        {
            con.Open();
            new OleDbCommand("create table myTest (id int, dummy c(10))",con).ExecuteNonQuery();
            var cmd = new OleDbCommand(@"insert into myTest (id, dummy) values (?,?)",con);
            cmd.Parameters.Add("id", OleDbType.Integer);
            cmd.Parameters.Add("dum", OleDbType.VarChar,10);

            for (int i = 0; i < 10; i++)
            {
                cmd.Parameters["id"].Value = i + 1;
                cmd.Parameters["dum"].Value = $"Dummy#{i+1}";
                cmd.ExecuteNonQuery();
            }

            tbl.Load(new OleDbCommand("select * from myTest",con).ExecuteReader());
        }
        foreach (DataRow row in tbl.Rows)
        {
            Console.WriteLine($"{(int)row["id"]} : {(string)row["Dummy"]}");
        }
    }
    Console.ReadLine();
}

}
}

Save it, say VFPOLEDBTest.cs and compile with:

csc VFPOLEDBTest.cs /platform:x86

and run:

VFPOLEDBTest.exe

Output:

d:Academy>VFPOLEDBTest.exe
1 : Dummy#1
2 : Dummy#2
3 : Dummy#3
4 : Dummy#4
5 : Dummy#5
6 : Dummy#6
7 : Dummy#7
8 : Dummy#8
9 : Dummy#9
10 : Dummy#10

  • Remove From My Forums
  • Вопрос

  • Hi there.

    Long time no see:)

    My VS2008 Ult 64 bit crashed and I had to replace it with Windows 7. At this point I decided finally to convert ALL my VFP DBs to Sql Server (I still have a couple of very important not converted). I installed VFP v 9.0, I installed SP1 and SP2, I installed OleDB Provider for VFP, I can open tables in VFP Management Console but I get this error when I try to use my C# conversion routines.

    What am I missing.

    Thanks.


    AlexB — Win_7 Pro64, SqlSer64 WinSer64

Ответы

  • This is for anyone that still needs to use the VFPOLEDB driver for their 32-bit apps, but need to do their development in Windows 7 64-bit.  Installing it should be the same as Vista, but the steps below I did not need to do in Vista 64, only Windows 7 64…

    1.  If the Driver is installed, uninstall it.
    2.  Open a Command Prompt running «As Administrator»
    3.  Run the VFPOLEDBSetup.msi from the command prompt.

    It will install successfully and work correctly for your 32 bit apps.  As all of you should know by now, it will not work on 64-bit compiled applications.

    Happy Legacy Coding!!! :)


    Gregfig

    • Предложено в качестве ответа

      5 марта 2010 г. 20:54

    • Помечено в качестве ответа
      Martin_Xie
      8 марта 2010 г. 5:11

  • Once its get registered, then do you change your APPLICATION->COMPILE OPTION as x86 CPU ?


    U.PARANTHAMAN

    • Предложено в качестве ответа
      Mike Hills
      26 марта 2010 г. 5:26
    • Помечено в качестве ответа
      Martin_Xie
      30 марта 2010 г. 6:06

  • Thanks for helpful hints.

    I went to my Vista machine (Vista Ult x64 ) and ran the routines successfully converting all my tables to Sql Server. I used OleDb driver VFPOLEDB.1. Dbcd driver did not work. It gave me the same exception: the method is not supported.

    So, for all practical purposes the issue is closed.

    Unless proven otherwise I maintain that with every new OS MS drops support to VFP lower and lower. Nothing is checked in terms of compatbility. No support, no checking. Therefore if one driver is not recognized for some reason so be it. I hope this information will help some to asess their committment to VFP. I was attacked by one weirdo for no reason. What I said was true. The fact that Cetin is not here is another ominous sign. I remember he told me that he was switching to Sql Server although I haven’t seen him much over there either but I don’t use it that much since I’ve learned what I need at the minimum. I wish somebody warned me years ago that VFP would demise but nobody had integrity to do it. I had to figure it out myself. The same thing happened when I was doing Visual dBase. There was a forum and people were active, then all of a sudden membership dropped and in a matter of a few months the forum died. I switched to VFP and invested two years for nothing.


    AlexB — Win_7 Pro64, SqlSer64 WinSer64

    • Помечено в качестве ответа
      Martin_Xie
      25 января 2010 г. 6:17
    • Изменено
      AlexBB — Vista Ult64 SqlSer64 WinSer64
      1 марта 2010 г. 15:04

  • To make sure you are allowing 32-bit apps, go to IIS Manager/Application Pools select your application, click advanced settings and set enable 32-bit applications to true.

    • Предложено в качестве ответа
      charoldson
      4 марта 2013 г. 17:28
    • Помечено в качестве ответа
      Naomi N
      29 января 2014 г. 23:09

RRS feed

  • Remove From My Forums
  • Общие обсуждения

  • Здравствуйте.

    При попытке запустить приложение (.net), использующее vfpoledb провайдер, появляется сообщение типа «Поставщик ‘VFPOLEDB’ не зарегистрирован на локальном компьютере«. Дословно — приведу завтра. Провайдер, скачанный с сайта

    microsoft установлен.

    На 2003-м сервере все работает нормально.

    Помогите решить проблему.

    • Изменен тип
      Vinokurov Yuriy
      27 июля 2010 г. 11:18
      давность и отсутствие активности в теме

Все ответы

  • Сделал как указали.При команде regsvr32 vfpoledb.dll выводит сообщении об успешном выполнении. Также пробовал ставить vfpodbc и делать соединение через odbc — результат примерно одинаков(vfpoledb: «Поставщик vfpoledb не зарегистрирован на локальном
    компьютере»).

  • У вас установлен FoxPro на этой машине? Если да, то какой? И еще один вариант, слегка бредовый — оставьте в системе только 1 копию библиотеки поставщика, другую удалите начисто. И попробуйте разрегистрировать, а потом зарегистрироват поставщика заново.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий
    Доклады на Techdays:
    http://www.techdays.ru/speaker/Vinokurov_YUrij.html

  • Уважаемый пользователь!

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий
    Доклады на Techdays:
    http://www.techdays.ru/speaker/Vinokurov_YUrij.html

Перейти к контенту

  • Remove From My Forums
  • Question

  • Hi there.

    Long time no see:)

    My VS2008 Ult 64 bit crashed and I had to replace it with Windows 7. At this point I decided finally to convert ALL my VFP DBs to Sql Server (I still have a couple of very important not converted). I installed VFP v 9.0, I installed SP1 and SP2, I installed OleDB Provider for VFP, I can open tables in VFP Management Console but I get this error when I try to use my C# conversion routines.

    What am I missing.

    Thanks.


    AlexB — Win_7 Pro64, SqlSer64 WinSer64

Answers

  • This is for anyone that still needs to use the VFPOLEDB driver for their 32-bit apps, but need to do their development in Windows 7 64-bit.  Installing it should be the same as Vista, but the steps below I did not need to do in Vista 64, only Windows 7 64…

    1.  If the Driver is installed, uninstall it.
    2.  Open a Command Prompt running «As Administrator»
    3.  Run the VFPOLEDBSetup.msi from the command prompt.

    It will install successfully and work correctly for your 32 bit apps.  As all of you should know by now, it will not work on 64-bit compiled applications.

    Happy Legacy Coding!!! :)


    Gregfig

    • Proposed as answer by

      Friday, March 5, 2010 8:54 PM

    • Marked as answer by
      Martin_Xie
      Monday, March 8, 2010 5:11 AM
  • Once its get registered, then do you change your APPLICATION->COMPILE OPTION as x86 CPU ?


    U.PARANTHAMAN

    • Proposed as answer by
      Mike Hills
      Friday, March 26, 2010 5:26 AM
    • Marked as answer by
      Martin_Xie
      Tuesday, March 30, 2010 6:06 AM
  • Thanks for helpful hints.

    I went to my Vista machine (Vista Ult x64 ) and ran the routines successfully converting all my tables to Sql Server. I used OleDb driver VFPOLEDB.1. Dbcd driver did not work. It gave me the same exception: the method is not supported.

    So, for all practical purposes the issue is closed.

    Unless proven otherwise I maintain that with every new OS MS drops support to VFP lower and lower. Nothing is checked in terms of compatbility. No support, no checking. Therefore if one driver is not recognized for some reason so be it. I hope this information will help some to asess their committment to VFP. I was attacked by one weirdo for no reason. What I said was true. The fact that Cetin is not here is another ominous sign. I remember he told me that he was switching to Sql Server although I haven’t seen him much over there either but I don’t use it that much since I’ve learned what I need at the minimum. I wish somebody warned me years ago that VFP would demise but nobody had integrity to do it. I had to figure it out myself. The same thing happened when I was doing Visual dBase. There was a forum and people were active, then all of a sudden membership dropped and in a matter of a few months the forum died. I switched to VFP and invested two years for nothing.


    AlexB — Win_7 Pro64, SqlSer64 WinSer64

    • Marked as answer by
      Martin_Xie
      Monday, January 25, 2010 6:17 AM
    • Edited by
      AlexBB — Vista Ult64 SqlSer64 WinSer64
      Monday, March 1, 2010 3:04 PM
  • To make sure you are allowing 32-bit apps, go to IIS Manager/Application Pools select your application, click advanced settings and set enable 32-bit applications to true.

    • Proposed as answer by
      charoldson
      Monday, March 4, 2013 5:28 PM
    • Marked as answer by
      Naomi N
      Wednesday, January 29, 2014 11:09 PM

Alright, so I’ve got a Windows service that has a FileSystemWatcher that watches an output folder for some Visual FoxPro database files. And it leverages the VFPOLEDB.1 provider to read those files. I cannot go away from this provider because it’s being used in production.

However, I’ve never had to support this application before so that’s why my development box isn’t setup for it. Here is my environment:

  • Windows 7 x64
  • Visual Studio 2005
  • .NET 2.0 Windows service

so, when I first started getting the error I figured I just didn’t have the provider at all, and I was right. So, I downloaded and installed it from here.

I then proceeded to drop the files in the folder again, but I got the same error.

I figured because it’s an x64 machine I might be experiencing problems with it getting registered since it was probably dropped into SysWOW64, and it was as I expected, so I ran this command:

regsvr32 "C:WindowsSysWOW64mscomct2.ocx"

and it said it was successfully registered (which means about nothing LOL) but I dropped the files in again — same error.

I have not yet rebooted my machine, and I can if somebody has a compelling reason that’s the problem, but generally speaking if the assembly is registered properly with regsvr32 that’s not necessary. I’ve worked with a ton of COM objects and never have to reboot to get to the object as long as I’ve registered it.

Does anybody know another step I need to perform to get this thing registered?

Alright, so I’ve got a Windows service that has a FileSystemWatcher that watches an output folder for some Visual FoxPro database files. And it leverages the VFPOLEDB.1 provider to read those files. I cannot go away from this provider because it’s being used in production.

However, I’ve never had to support this application before so that’s why my development box isn’t setup for it. Here is my environment:

  • Windows 7 x64
  • Visual Studio 2005
  • .NET 2.0 Windows service

so, when I first started getting the error I figured I just didn’t have the provider at all, and I was right. So, I downloaded and installed it from here.

I then proceeded to drop the files in the folder again, but I got the same error.

I figured because it’s an x64 machine I might be experiencing problems with it getting registered since it was probably dropped into SysWOW64, and it was as I expected, so I ran this command:

regsvr32 "C:WindowsSysWOW64mscomct2.ocx"

and it said it was successfully registered (which means about nothing LOL) but I dropped the files in again — same error.

I have not yet rebooted my machine, and I can if somebody has a compelling reason that’s the problem, but generally speaking if the assembly is registered properly with regsvr32 that’s not necessary. I’ve worked with a ton of COM objects and never have to reboot to get to the object as long as I’ve registered it.

Does anybody know another step I need to perform to get this thing registered?

Can you please test this code (provided you have or created c:temp):

void Main()
{
    if (IntPtr.Size == 8)
    {
        Console.WriteLine("Sorry this is not going to work in 64 bits");
    }
    else
    {
        DataTable tbl=new DataTable();
        using (OleDbConnection con = new OleDbConnection(@"Provider=VFPOLEDB;Data Source=c:Temp"))
        {
            con.Open();
            new OleDbCommand("create table myTest (id int, dummy c(10))",con).ExecuteNonQuery();
            var cmd = new OleDbCommand(@"insert into myTest (id, dummy) values (?,?)",con);
            cmd.Parameters.Add("id", OleDbType.Integer);
            cmd.Parameters.Add("dum", OleDbType.VarChar,10);

            for (int i = 0; i < 10; i++)
            {
                cmd.Parameters["id"].Value = i + 1;
                cmd.Parameters["dum"].Value = $"Dummy#{i+1}";
                cmd.ExecuteNonQuery();
            }

            tbl.Load(new OleDbCommand("select * from myTest",con).ExecuteReader());
        }
        foreach (DataRow row in tbl.Rows)
        {
            Console.WriteLine($"{(int)row["id"]} : {(string)row["Dummy"]}");
        }
    }
    Console.ReadLine();
}

Or if you edit in Notepad and compile with csc:

using System;
using System.Data;
using System.Data.OleDb;
namespace Test
{
  class Test
  {

static void Main()
{
    if (IntPtr.Size == 8)
    {
        Console.WriteLine("Sorry this is not going to work in 64 bits");
    }
    else
    {
        DataTable tbl=new DataTable();
        using (OleDbConnection con = new OleDbConnection(@"Provider=VFPOLEDB;Data Source=c:Temp"))
        {
            con.Open();
            new OleDbCommand("create table myTest (id int, dummy c(10))",con).ExecuteNonQuery();
            var cmd = new OleDbCommand(@"insert into myTest (id, dummy) values (?,?)",con);
            cmd.Parameters.Add("id", OleDbType.Integer);
            cmd.Parameters.Add("dum", OleDbType.VarChar,10);

            for (int i = 0; i < 10; i++)
            {
                cmd.Parameters["id"].Value = i + 1;
                cmd.Parameters["dum"].Value = $"Dummy#{i+1}";
                cmd.ExecuteNonQuery();
            }

            tbl.Load(new OleDbCommand("select * from myTest",con).ExecuteReader());
        }
        foreach (DataRow row in tbl.Rows)
        {
            Console.WriteLine($"{(int)row["id"]} : {(string)row["Dummy"]}");
        }
    }
    Console.ReadLine();
}

}
}

Save it, say VFPOLEDBTest.cs and compile with:

csc VFPOLEDBTest.cs /platform:x86

and run:

VFPOLEDBTest.exe

Output:

d:Academy>VFPOLEDBTest.exe
1 : Dummy#1
2 : Dummy#2
3 : Dummy#3
4 : Dummy#4
5 : Dummy#5
6 : Dummy#6
7 : Dummy#7
8 : Dummy#8
9 : Dummy#9
10 : Dummy#10

Reply

Topic Options

  • Subscribe to RSS Feed
  • Mark Topic as New
  • Mark Topic as Read
  • Float this Topic for Current User
  • Bookmark
  • Subscribe
  • Printer Friendly Page

  • All forum topics


  • Previous Topic

  • Next Topic

Maures

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

‎06-06-2017

12:43 AM

Hi everyone,

when i restarted my power bi query editor, i’ve seen that my queries had all this error:

DataSource.Error: An error happened while reading data from the provider: 'The 'VFPOLEDB.1' provider is not registered on the local machine.'
Details:
    DataSourceKind=OleDb

and my data will not refresh.

What can i do?


Message 1 of 3

15,094 Views

1 ACCEPTED SOLUTION

Maures

In response to v-ljerr-msft

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

‎06-07-2017

01:03 AM

i’ve reinstalled power bi and now works.

i think was a problem of version: i’ve bot installed 32 and 64 bit and maybe that error appears only with the second one

View solution in original post


Message 3 of 3

18,665 Views


  • All forum topics


  • Previous Topic

  • Next Topic

2 REPLIES 2

v-ljerr-msft

Microsoft

v-ljerr-msft

Microsoft

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

‎06-07-2017

01:00 AM

Hi @Maures,

Could you try downloading and reinstalling the VFPOLEDB provider from here(the msi file) to see if it works? Smiley Happy

Regards


Message 2 of 3

15,078 Views

Maures

In response to v-ljerr-msft

  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Subscribe to RSS Feed
  • Permalink
  • Print
  • Report Inappropriate Content

‎06-07-2017

01:03 AM

i’ve reinstalled power bi and now works.

i think was a problem of version: i’ve bot installed 32 and 64 bit and maybe that error appears only with the second one


Message 3 of 3

18,666 Views

Helpful resources

Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Details

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don’t miss all of the great sessions and speakers!

Register

Thank you 2022 Review

2022 Monthly Feature Releases

We had a great 2022 with a ton of feature releases to help you drive a data culture.

Learn More

View All


Featured Topics

How to Get Your Question Answered Quickly

Top Solution Authors

User Count

amitchandak

Super User

amitchandak

208

Idrissshatila

Idrissshatila

Solution Sage

52

lbendlin

Super User

lbendlin

43

Ashish_Mathur

Super User

Ashish_Mathur

40

FreemanZ

FreemanZ

Community Champion

40

View All

Top Kudoed Authors

User Count

amitchandak

Super User

amitchandak

264

olgad

olgad

Impactful Individual

210

Idrissshatila

Idrissshatila

Solution Sage

71

Greg_Deckler

Super User

Greg_Deckler

69

lbendlin

Super User

lbendlin

64

View All

RE: The ‘vfpoledb.1’ provider is not registered on the the local machine .. 64 bit FoxPro OLEDB connection ??

My client is 32 bit, my SSRS server is 64bit windows 2003 sp2

my connection string:

Provider=vfpoledb.1;Data Source=»someserrverdatag10.dbc»;Collating Sequence=machine

Report runs fine on my client from VS 2005.

I deploy and get this error when I run the report from reportserver

The ‘vfpoledb.1’ provider is not registered on the the local machine

both my client and server have this file: at the same version 6.?.? version:

Vfpodbc.dll

For grins I reinstall the foxpro odbc driver on the server and see this event:

Product: Visual FoxPro ODBC Driver Configuration Completed successfully.

Same error.. I attempt to manually register it on the server and I get this:

 c:windowssyswow64vfpodbc.dll was loaded, but the dllregisterServer entry point was not found. The file can not be registered.

Same error…

I found this post.. but do ever get an option to select «For everyone»

http://forums.asp.net/t/1138178.aspx

kritjara

65 / 56 / 14

Регистрация: 22.10.2012

Сообщений: 295

1

02.11.2017, 12:46. Показов 10093. Ответов 10

Метки нет (Все метки)


VB.NET
1
2
3
4
 Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Files & "; Extended Properties=""Excel 12.0 Xml; HDR=YES""") ' Excel
Public cn_ab As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "DataBase.accdb;Persist Security Info=False") ' acces
Public cn_DBF As New OleDb.OleDbConnection(
        "Provider=VFPOLEDB.1;Data Source=" & Application.StartupPath & ";Persist Security Info=True;User ID=Admin") ' Microsoft Visual FoxPro Driver

Эти три провайдера начал использовать пару недель назад для чтения xlsx, accdb и dbf
В параметрах компиляции проекта пришлось убрать галочку «Предпочтительно 32-разд.» и в Целевой ЦП поставить AnyCPU, иначе появлялось сообщение что Microsoft.ACE.OLEDB.12.0 не зарегистрирован
В результате этого теперь выдает что VFPOLEDB.1 не зарегистрирован
Если в целевой ЦП поставить х32, то VFPOLEDB.1 работает, а Microsoft.ACE.OLEDB.12.0 — нет.

Как избежать этой проблемы?

До этого база была в формате .mdb, все Excel файлы переводил в формат xls и читал с помощью Microsoft.Jet.OLEDB.4.0
Но совсем недавно мелкофсофт выпустило обновление для Windows 10, после чего Microsoft.Jet.OLEDB.4.0 перестал читать xls файлы. Где-то я вычитал, что это обновление выпущено специально в целях принудительного отказа пользователями от старых версий файлов Microsoft. Поэтому я принял решение начать пользоваться Microsoft.ACE.OLEDB.12.0
Откатывать систему тоже не вариант, ибо пользователей-компьютеров много и оставаться без обновлений не хочется

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

1274 / 979 / 137

Регистрация: 01.10.2009

Сообщений: 3,092

Записей в блоге: 1

02.11.2017, 17:04

2

kritjara, а зачем Вам VFPOLEDB для excel и access? работайте стандартными средствами .net. А это для корректной работе с dbf файлами

0

65 / 56 / 14

Регистрация: 22.10.2012

Сообщений: 295

02.11.2017, 21:36

 [ТС]

3

в том то и дело
мне необходимо работать с dbf файлами в том числе, но я не могу

0

1274 / 979 / 137

Регистрация: 01.10.2009

Сообщений: 3,092

Записей в блоге: 1

02.11.2017, 21:47

4

kritjara,второй пост

0

65 / 56 / 14

Регистрация: 22.10.2012

Сообщений: 295

02.11.2017, 22:18

 [ТС]

5

Немного разобрался. Моя проблема будет решена, только если при х64 сборке я смогу выполнять sql запросы в dbf. Любым путем. VFPOLEDB работает только под х32, драйвера VFPOLEDB под х64 в природе не существует
Вот что еще я накопал:
1. пробовал подключаться через источники данных и с помощью Excel, но в результате вместо русских букв получаю иероглифы, запросы Update выполнить соответственно не получается
2. Нашел инфу что ODBC драйвера для dbf для x64 есть в составе пакета «Microsoft Access Database Engine 2010 Redistributable», но я не понимаю какая должна быть строка подключения и опять же, не будут ли там иероглифы?
3. И третий вариант казалось бы отличный, но незнания и непонимание принципа работы Advantage DataBase Server не позволяют решить проблему с выскакиванием сообщения после каждого запроса. Читает dbf хорошо, но после любого sql запроса к dbf появляется сообщение, при чем не сразу, а после выполнения последующего кода, но не всего, как будто посреди кода я вставил MsgBox. Это вносит ужасный дискомфорт.

0

1274 / 979 / 137

Регистрация: 01.10.2009

Сообщений: 3,092

Записей в блоге: 1

03.11.2017, 07:23

6

Цитата
Сообщение от kritjara
Посмотреть сообщение

Нашел инфу что ODBC драйвера для dbf для x64 есть в составе пакета «Microsoft Access Database Engine 2010 Redistributable»

да говорят мои старшие товарищи 1-с ники, что работает и со стандартным 32 bit на 64 битной ОС, стандартный драйвер ODBC от микрософта, попробуйте, а работа с ODBC такая же, только подключени берется из системы после установки драйвера

1

Модератор

Эксперт .NET

3857 / 3180 / 479

Регистрация: 27.01.2014

Сообщений: 5,809

06.11.2017, 08:42

7

kritjara, а почему проект не компилируете под x86? Или принципиально использовать 64?

0

65 / 56 / 14

Регистрация: 22.10.2012

Сообщений: 295

08.11.2017, 20:41

 [ТС]

8

Yury Komar, потому что под х86 не работает Microsoft.ACE.OLEDB.12.0, а он мне необходим для взаимодействия с базой и для чтения excel файлов xlsx форматов. На большем количестве компов стоит win 10, которая напрочь отказывается использовать Microsoft.Jet.OLEDB.4.0, после какого то обновления. Примерно до начала октября работало все, а потом безовсяких причин перестали читаться Excel файлы xls на всех компах где проходят обновления. Выход получается один -компилировать под х64

0

1274 / 979 / 137

Регистрация: 01.10.2009

Сообщений: 3,092

Записей в блоге: 1

09.11.2017, 17:06

9

kritjara, ну так поставьте нужный. Не пойму в чем проблема

0

65 / 56 / 14

Регистрация: 22.10.2012

Сообщений: 295

10.11.2017, 10:15

 [ТС]

10

XIST
проблема описана в самом начале, одно с другим не работает
ссылку что вы мне дали — это для х64 сборки, то к чему я пришел, но в результате я не могу читать dbf файлы
vpfoledb.1 имеется только под х32, а с помощью уже имеющихся драйверов для dbf получаю результат в «иероглифах»
кодировки для меня — это неизведанный мир, мне трудно в этом направлении

если у Вас есть вариант как правильно под х64 сборкой прочитать dbf, пожалуйста покажите

0

Модератор

Эксперт .NET

3857 / 3180 / 479

Регистрация: 27.01.2014

Сообщений: 5,809

10.11.2017, 10:27

11

kritjara, люди пишут, что работает.

Проблема:
I’ve installed Visual FoxPro driver from this link on my 64 Bit Windows 7 Home Premium OS and tried to register vfpoledb.dll using REGSVR32. I could able to register this dll but when run my application which accesses VFP database is throwing the following error:
System.InvalidOperationException: The ‘VFPOLEDB.1’ provider is not registered on the local machine.

The same application is working fine in 32 bit Windows 7 Home Premium OS without any issues. I have googled for 64 bit VFP driver and found out that there are no VFP drivers for 64 bit OS from this link. Kindly help me to resolve this issue.

Решение:

I have found out that there is no 64 bit VFP Driver for 64 bit OS. All we have to do is to change the build option in project properties and set the Platform Target to X86 instead of Any CPU. Build the application for X86.
Ah, setting Platform Target to X86 solved this issue for me, thanks!!!

или это не та проблема?

0

Понравилась статья? Поделить с друзьями:
  • Ошибка посудомоечной машины bosch e09 ремонт
  • Ошибка поставщик oledb не зарегистрирован
  • Ошибка посудомоечной машины bosch e09 в конце цикла
  • Ошибка посуда е 15 бош
  • Ошибка построения пути сертификации криптопро арм как исправить