Connection String Help Microsoft Jet 4.0 Paradox - database-connection

I am trying to connect to a server in PowerPivot. I am running across a few problems. Here is the connection string:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\accounting001\Accounting\TimeSlips2014\Databases\Philadelphia\;Extended Properties=Paradox 5.x.
It uses NT authentication as the password. I have read all about the problems with MS Jet 4.0. I am running 64x on 64x office apps. I receive the not registered on local computer error. Can anyone help me connect. I already installed the Access 2010 DB engine however I wasn't able to get it to connect. Thanks!

The Microsoft OLE DB Provider for Jet and the Jet ODBC driver are available in 32-bit versions only. You can't run them in 64 bit mode.
The Solution
If you run a program in a 64 bit environment and need to utilize jet to open an Access, Excel or text file there are several options to make this work.
Run the program in WoW64 mode (emulates 32-bit on 64 bit systems). This will make the 32 bit drivers work.
If the application is an web app hosted on IIS 7 you can choose to configure the web sites application pool to run in 32-bit mode.
With Office 2010, there are new drivers, the 2010 Office System Driver, which will be provided in both 32-bit and 64-bit versions. You can use these drivers to let your application connect to Access, Excel and text files in a 64 bit environment utilizing the new 64-bit drivers. The provider name is "Microsoft.ACE.OLEDB.12.0". You don't need to buy or install the Office suite, the components are available as a separate download. http://www.microsoft.com/downloads/details.aspx?FamilyID=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en
Summary
It is possible to open Excel, Access and text files on 64 bit systems. You can either configure your app to go 32-bit or you can change your application to use the new 64 bit drivers.
See the original link for this information here.

Related

Can I use Delphi 10.3 or 10.4 Professional to connect to a remote Firebird database using FireDAC?

I would like to upgrade my XE5 Professional to 10.3 or 10.4 Professional, but I've a doubt. Using a Professional edition and FireDAC components, can I connect to Firebird 2.5 on a server in my intranet? The feature-matrix document says "Connect to local databases...".
See https://www.embarcadero.com/products/delphi/product-editions
With my XE5 Professional, I can connect, and a few months ago I tried the Community edition of 10.3 and even with that edition I had the opportunity to connect.
It is probably not what you are able to do, but rather what you are allowed to do. The relevant part of the license says (emphasize by me):
Subject to the terms and conditions of this Agreement, Licensor grants
to Licensee as the licensed user of the Product the limited right to
use those portions of the Product identified as "dbExpress" and
“FireDAC”, in executable form only, to access a local database
installed on the same machine as the Work. Licensee may not use that
portion of the Product identified as "dbExpress" or “FireDAC” in
association with a database located on a different machine other than
the machine on which the Works are installed.
In your case this limits the connections to Firebird servers running on the same machine your program is running on. Simply the Firebird server being in the local intranet is not sufficient.
Software License and Support Agreement

Delphi 2007 supports Windows 2008 R2?

A client runs our Delphi 2007 app on Windows 2008 R2 via Citrix XenApp.
He's been facing an issue where the file open dialog crashes sometimes. He's applied latest updates for windows and Citrix.
I've seen many articles on the net where similar issue occurs for various apps other than Delphi like MS Office apps, VS 2008, Adobe PDF etc.
The client doesn't face this on any other application and thus is blaming our application.
If the our app's "Compatibility Mode" is "Windows XP SP3" then all is fine. Hence, client has raised a question stating if our Delphi app is Windows 2008 R2 certified.
What changes are required if we have to make our Delphi 2007 app certified for Windows 7/2003/2008/2008 R2 ?
We have fixed lots of strange Delphi (2009) app crashes on Windows 2008 R2 64 Bit Terminal Server environment with these additional lines in the DPR:
// make it Terminal Server Aware (app without installer writing to ini files / registry)
{$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
Note: to compile, it requires the Windows unit
The crashes appeared in many unexpected places like open dialogs. With the excellent madExcept tool we found that apps crashed within operating system routines in some Windows DLLs, and disappeared when we added the "terminal server aware" flag.
I am not a Delphi developer but a Google Search for Delphi 2007 System requirement took me to this page http://edn.embarcadero.com/article/36573#requirements
The following Windows platforms are supported:
Microsoft® Windows 2000 Professional or Windows 2000 Server (SP4 or higher and security updates are recommended)
Microsoft Windows XP Professional (SP2)
Microsoft Windows Vista™
Microsoft Windows Server 2003 (SP1)
The latest service packs and security updates are recommended for all platforms
Microsoft Internet Explorer 6.0 SP1 or later
I don't see Windows 2008 here.
Its not uncommon for the following:
It would be up to you to determine and test how your app functions under 2008. Knowing that a number of things as always change with each release of windows let alone server/workstation.
You tell them under what senarios YOU will support your application being run.
If you require your app to be run as compatbility mode with xp sp3, and tell them that, and tell them YOU dont support it outside that configuration. If you wont support it under a virtual environment.. then you tell them that.
Obviously the better answer would be to test it on 2008 R2, and check all your functionality and say you will support it running in a natural state.

ADO components in delphi

I am currently using BDE components to connect to a database in Delphi 5 professional version. My problem is that BDE components need BDE Administator to run the application on another machine. So I am planning to buy a new version of Delphi which contains ADO components.
Question: Are ADO components also having issues like the BDE? Do ADO components need any specific setup to run applications on another machine?
Thanks for the help.
All the components have issues in some point, in the case of ADO is very stable, but you can have some specific problems with the providers (like the infamous not support for blob fields in ORACLE using the Microsoft provider) but certainly is more recommendable use ADO instead of the deprecated BDE. About the dependencies, ADO uses providers to connect to the RDBMS, most of them are installed by MDAC (Microsoft Data Access Components) which is included in most of the Windows versions. So in most cases you will not need install any addtional component, at least which you want use a provider not inluded in MDAC like MySql, Firebird or others.
Sounds like if you posted two times the (almost) same question... with more focus on ADO this time.
As was written in the previous question, if you attempt to connect to an Oracle database using ADO or OleDB, you'll find out that all OleDB providers are buggy for handling Oracle BLOBs: Microsoft's version just do not handle them, and Oracle's version will randomly return null for 1/4 of rows... So IMHO ADO or OleDB are not a serious option for accessing Oracle database. :(
And if your purpose is to get rid of the BDE installation, you'll find out that the Oracle's OleDB provider is quite huge and that the BDE is much light and better... A standard Oracle's client installation containing the OleDB/ADO provider (which is not installed in the "Light" version of the Oracle's clients), needs a .zip setup of about 660 MB...
On real database data, I found out our Open Source direct access to Oracle to be 2 to 10 times faster than the OleDB provider, without the need to install this provider (nor the BDE). You can even use the Oracle Instant Client provided by Oracle which allows you to run your applications without installing the standard (huge) Oracle client or having an ORACLE_HOME. Just deliver the dll files in the same directory than your application, and it will work.
Of course, this is full Open Source, and works from Delphi 5 up to XE. So when your project may upgrade to a newer Delphi version, it will work. You are not tied to non-Unicode Delphi 5-Delphi 7 version of Oracle components, as you can found on Torry's, e.g. but those components may help you get rid of the BDE installation for an existing project.
If you don't use BLOBs in your database, you can use ADO. In this case, my advice is to read this post, and use TADODataset, which is available in Delphi 5.
Ok Naren, since you are on Oracle you can use this Oracle driver DOA. We use it exclusively in our Delphi projects.
All our Delphi projects are on Delphi 7 but we are converting all of it to Delphi XE now. When using DOA you do need to install the Oracle client libraries on the client machine. The upside is speed and Oracle support, so the DOA drivers don't need to work on the most common command set like ADO needs to, so the Oracle support is brilliant.

Microsoft.Jet.OLEDB.4.0 problem for 64-bit machine

I am working on Visual Basics using Visual Studio 2008, my application is to read the data from the Microsoft Access database and plot the graph using Crystal Reports.
For accessing to database I need to use a method:
conn.ConnectionString = #"Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\a.mdb";
Which is working fine in 32-bit machine but i try to run it on 64-bit machine I am getting the error:
Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine
So can any one help me out how to resolve this? I need it run it on 64-bit.
Download the Access 64 bit redistributable from here.
After you install it, you can use Provider=Microsoft.ACE.OLEDB.12.0 for this version of 64 bit OLEDB.
In your project properties → Build, change your "Platform target" to x86, then it will find the 32 bit driver.

.NET Windows service not working in Windows Server 2008

I developed a Windows service which is running without any problem in Windows XP service pack 3. When I deployed this service in Windows Server 2008 it is not working. The service started without any problem.
I enabled the option Windows XP service pack 2 from the compatibility property of the .exe which deployed there.
But no more action after the starting the service.
What could be the problem?
One thing I would check it to see if any of your referenced assemblies are 32bit specific. We ran into a similar problem when using Microsoft SQL Server Reporting Services. The .dll we used to get a list of the web service interfaces, was 32bit/64bit specific, so we had to swap it out depending on which envionment we were running on.
Since the error could hide anywhere I would suggest to first discern what exactly is not working under Windows Server 2008.
Implement some logging functionality into your service (if you didn't do so already, I strongly recommend it) and let the result be printed into a log file. See what's working and when it stops to work. Hopefully this will give you a better understanding of what's going on under the hood.
Also, this way we can help you way better than now.
[EDIT]
Maybe these two can help you?
COM Class Factory Error
Running 32 bit app using 32 bit com on a 64 bit Windows machine

Resources