问题
I'm building database application with delphi 2010 in which the database i used is ms access 2007 and ado as the connection....
then, i used installshield express from delphi 7 to do the deployment.... i open the setup file in my computer and there is no problem with it..but when i open the setup file in client computer, there is some error...
what makes me confused is what files needed to be added in the setup file for the deployment? i've installed mdac 2.8 sp1 in the client, but it's still not working...
the error messages i got are : [microsoft][ODBC MIcrosoft Access Driver] general error unable to open registry key temporary (volatile) Ace DSN for process 0x16c8 thread 0x628 DBC 0x 3dc7eec
[micorsoft][ODBC Driver Manager] Data source name not found and no default driver specified..
then, when i try to another client computer, the error message i got are: [Microsoft][ODBC Microsoft Access Driver]'(Unknown)' is not a valid path. Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides
Exception EOle Exception in module 'module_name'.exe at 001A26AC
that's all the error messages i got... any clues?
回答1:
Are you using the ACCDB format files? If so the version of ADO that comes with Windows knows nothing about that file format. You will need to install 2007 Office System Driver: Data Connectivity Components I would suggest using an MDB format file unless you are using some of the Access 2007 specific features as ADO knows all about MDB format.
It's very doubtful you'd need to install MDAC on the client system so long as it's Windows XP SP3 or newer. Windows XP SP2 installed MDAC 2.8 SP1. So don't much with the ADO version. For some information on how ADO works at the version level see I've never quite trusted ADO because … That article is written from the Access perspective but should give you some useful information on ADO versioning.
回答2:
Perhaps the ADO connection component in your app has it's Active property set to true, or is set to true on startup, but the connection string is not valid on client machines as opposed to your dev machine? In this case you would receive a connnection error.
Without the error message it's hard to tell as jachguate says, but theoretically you should not need anything additional to deploy it according to the information you have provided.
回答3:
As already said, without more information, it's hard to tell.
Please read and follow the advices on writing a good question by Jon Skeet.
It will boost your chances of getting an actionable answer...
Three basic things you need for connecting to Access:
- the Data access layer: you should have it covered with installing MDAC.
- the DB itself: either you create it from your application or the DB must already exist on the target machine. If not, you must deploy the DB files.
- the connection to the DB: you must ensure the ConnectionString is valid for the target machine and you don't try to connect or activate any dataset before it is checked.
回答4:
This is working now.
I installed 2007 Office System Driver: Data Connectivity Components as Tony recommended, then I also added midas.dll to system32 on the client computer.
来源:https://stackoverflow.com/questions/3766096/files-needed-for-deploying-delphi-2010-with-ms-access-2007-and-ado-for-database