I am using Visual FoxPro and Visual FoxPro odbc driver.
My code was working fine in Windows Server 2003. Now we need to migrate to Windows Server 2012 R2. We installed visual odbc driver on server. Still it is not working. We have also registered application DLL (developed in Vb 6) in syswow64 folder. However no luck.
Below is my code:
Dim strDbfstring
Strdbfstring = "Driver = {microsoft visual FoxPro driver };sourcetype= dbf;Exclusive = no"
Condbf.open strdbfstring
The code for oledb provider 9.0 works for me. The only problem was in installation setting. I re-installed oledb driver with permission for everyone. Provider should have given access to everyone.
The old Desktop ODBC Drivers have always had their limitations. I'm not sure they were ever made available as redistributables. VFP could be an exception. However:
The VFPODBC driver is no longer supported. We strongly recommend using the Visual FoxPro OLE DB provider as a replacement.
So have you considered Microsoft OLE DB Provider for Visual FoxPro 9.0 instead? This will probably be far more robust anyway.
Related
I have 32-bit Office installed together with 32-bit AccessDatabaseEngine on a laptop with 64-bit Windows 10.
With 32-bit Office goes 32-bit ACE although Office does not use ACE (but VBA can do) and (Microsoft disallows 32- 64-bit ACE 12.0 to coexist on the same computer).
Using an identical connection string and sql statement, I am able to use ADODB successfully but a C# COM server is giving me this error:
The 'Provider=Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
I am also able to Import Data from xlsx sources in SQL Server Management Studio.
It appears that the C# Com server is looking for the 64-bit version. I have specified x86 as the target platform for the C# project.
Any hints on how to overcome the error with the C# COM server? Why does C# default to using 64-bit ACE 12.0 (ADODB & SSMS do not)? Is there a way of coercing the use of 32-bit ACE in the C# project - I've already specified x86 as the target platform?
Thanks.
ERROR [IM014][Microsoft][ODBC Driver Manager]The Specified DSN contains an architecture mismatch between the Driver and Application
I am only getting this error in visual studio when i try to add a Data Connection.
When I test the connection in ODBC Data Source Administrator, it completes successfully.
I am trying to configure the TIBCO(R) Data Virtualization 7.0 Driver with Composite so that I could connect my web app in visual studio to the composite database.
Both the driver and composite studio are both 7.0 64 bit, along with my computer.
I would say that your Visual Studio IDE is 32-bit.
As discussed in this article on my employer's website which I believe remains accurate --
The Visual Studio IDE, up to and including VS2015 [and later], is a 32-bit application and as a result, for such development all OLE DB and .NET Providers must be 32-bit, as must any subsequently interfaced components such as ODBC drivers.
I had a simple VB.NET program running under Visual Studio 2012 that accesses an MSACCESS DB on my machine. It was working fine until I recently upgraded from Windows 7 to Windows 10, and Office 2010 to Office 365. Now when I try to open the DB, I get "Provider cannot be found. It may not be properly installed."
I have a 32-bit version of Office, windows 10 is 64-bit. I've tried both .Net framework 4.5 and 2.0, and ActivX Data Objects 2.7 library and 2.8 library - still have the same problem.
In ODBC drivers (32-bit) I see ACEODBC.DLL (from ODBC data sources)
In ODBC drivers (64-bit) under DSN is says MS Access Database 32-bit but I see no driver.
I even tried installing Visual Studio 2015, but that didn't help.
Any ideas on what to try next?
I have programs (created using VB.NET 2008) interacting with .mdb files (created in access 2003). use Oledb 4.0.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MyPath;
Jet OLEDB:Database Password=MyDbPassword;
Works fine on all my computers: W8 Pro, XP, 2003, Vista, Windows 7, ....(32 and 64 bits).
But with the upcoming end of support and updates for office 2003, should it also be necessary to migrate our databases .mdb (created with access 2003) to a higher version? affects or this is not necessary if we do not use Office 2003?
No you don't need to upgrade your app to a newer version of Jet (and no, there is no new version of Jet), you could still use that bits until they are supported by the Net Framework OleDb classes and the libraries present on the target machine.
The version of Office installed by your user has nothing to do with that.
Of course this library is outdated. The new bits for opening a Microsoft Access database in the new format (ACCDB) are called Microsoft.ACE.OleDb.12.0 and you can find the connection strings on this site
These new libraries allows to write application for 64bit but I can't really recommend to switch to a 64 app unless you have compelling reason to do that. For more info see this question
Updates for Office are only for Office. I doubt that there's been an update to Jet 4.0 for some time.
I have a project that uses SQL Compact DB 3.5. I used to work with VS 2010, and everything was going well, I then installed VS 2012, and opened the project with Visual Studio 2012, it asked me to update the database to 4.0, and I did and it worked. Now I have VS 2013, I installed the SQL Server Compact toolbox, and I managed to connect to the database file during design time, but during runtime, I don't know how to do so,
before I was using this connection string: "Data Source=my_db.sdf;Password=password"
I deleted the converted 4.0 database file, I only have the 3.5 file, and no more VS 2012,
if I add the database file to the solution, it tells me I am using an old version and I need to update it.
The question is: What connection string do I use to connect to the database during runtime which I am successfully viewing in SQL Server Compact Toolbox
I deleted the Reference to SqlCe 4.0 and added a reference to SqlCe 3.5 and it worked, thanks anyways, I hope this answer helps anyone