Author |
Topic |
bodjo
Starting Member
8 Posts |
Posted - 2007-10-23 : 07:12:13
|
I'm new here and this is my first post. I am not sure if this is the right place for me to post this problem but I really need your help guys. I've been looking for a solution of this problem for almost a week now. I'd googled a lot but of no result.What I want to do is to import records from access 2000 database to SQL 2005 Express. I use the following statement to import records:SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Data Source="D:\Samples\Mydatabase.mdb";User ID=Admin;JET OLEDB:Database Password=mypass', 'tblTab1')The following error shows:Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".I dont know if the statement is correct or I am missing something. I had reinstalled my MS Access but this does not help either. By the way I'm using Access 2003 and my database is 2000 access version.Hope somebody can help me get out of this.thanks,bodjo |
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-23 : 08:21:03
|
You need to install JET (sp 8) on the machine running SQL Server. E 12°55'05.25"N 56°04'39.16" |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-23 : 21:17:03
|
I'm using Windows XP SP2. When I tried to install the JET 4.0 SP 8, I received as message stating that I am using the latest version of JET so I do not need to update it. I used WindowsXP-KB829558-x86-ENU.exe from [url]http://support.microsoft.com/kb/239114/[/url]Thanks for your reply. |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-23 : 21:33:47
|
by the way, here's the complete error message:OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "Could not find installable ISAM.".Msg 7303, Level 16, State 1, Line 1Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)". |
|
|
rmiao
Master Smack Fu Yak Hacker
7266 Posts |
Posted - 2007-10-23 : 22:50:16
|
Can you create linked server with that provider? |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-24 : 00:31:44
|
I already did but it still shows the same error. Here's the script I executed to create a link server:EXEC sp_addlinkedserver @server = N'SampleServer', @provider = N'Microsoft.Jet.OLEDB.4.0', @srvproduct = N'OLE DB Provider for Jet', @datasrc = N'D:\Samples\Mydatabase.mdb'GOEXEC sp_addlinkedsrvlogin @rmtsrvname = N'SampleServer', @useself = N'TRUE', @locallogin = NULL, @rmtuser = N'Admin', @rmtpassword = 'mypass'Is there other things I have to configure?Thanks for your replies. |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-24 : 01:35:24
|
And the directory "d:\samples\mydatabase" is on the SQL Server, not your local machine, right? E 12°55'05.25"N 56°04'39.16" |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-24 : 01:40:16
|
It's on my local machine same with my SQL Server. |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-24 : 01:44:34
|
So the file "mydatabase.mdb" is located on BOTH the server AND your local machine at "d:\samples"? E 12°55'05.25"N 56°04'39.16" |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-24 : 01:52:00
|
"Mydatabase.mdb" is on "d:\samples" folder whereas my SQL database (.mdf and .ldf file) is on a separate folder but still on my local machine. |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-24 : 01:57:02
|
So what you are saying is that you are having SQL Server installed on your local machine, or that you are working on your sql server?Ok, I get that.Have a look at this replyhttp://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926&whichpage=6#246397Do as it says, try again, and come back with the more detailed error message. E 12°55'05.25"N 56°04'39.16" |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-24 : 02:31:49
|
Hi Peso,Thanks for your replies. I'm already consuming a lot of your time.Anyway, I executed this statement based on the sample from the link you had given.SELECT *FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\Samples\Mydatabase.mdb', 'SELECT * FROM [tblTab1]')Here is the error:OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Microsoft Access Driver] Not a valid password.".Msg 7303, Level 16, State 1, Line 1Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".I also tried using 'Microsoft.Jet.OLEDB.4.0' instead of 'MSDASQL'.The statement I used to create a linked server is this one:EXEC sp_addlinkedserver @server = N'SampleServer', @provider = N'Microsoft.Jet.OLEDB.4.0', @srvproduct = N'OLE DB Provider for Jet', @datasrc = N'D:\Samples\Mydatabase.mdb'GOEXEC sp_addlinkedsrvlogin @rmtsrvname = N'SampleServer', @useself = N'TRUE', @locallogin = NULL, @rmtuser = N'Admin', @rmtpassword = 'mypass'Please take note that I execute all this statements in SQL Server Express and my Access database (2000 format) has a password. And also, the provider I stated in creating linked server is N'Microsoft.Jet.OLEDB.4.0'.Hope this info would help. |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-24 : 02:52:01
|
The MSDASQL error message says you provided an invalid password.Look at www.connectionstrings.com to get a valid connectionstring for SQL Server to connect to MS Access.Look at the examples that include USERNAME and PASSWORD.quote: Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;Jet OLEDB:Database Password=MyDbPassword;
Here is also a list of connectionstringshttp://www.carlprothman.net/Default.aspx?tabid=81It seems that the data source path do not need double quotes to enclose the file name. E 12°55'05.25"N 56°04'39.16" |
|
|
bodjo
Starting Member
8 Posts |
Posted - 2007-10-24 : 04:17:44
|
I still can't get the result. I tried to use different connection strings but it did not worked. When I removed the password of the mdb file, it worked based on this statement I executed.SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', D:\Samples\Mydatabase.mdb''; 'admin';'',tblTab1)Now, what should be the correct syntax to open access database with password. Some samples I've got is, they just put the password after the user id which is 'admin'. In my case, I only receive error like the error I have stated on my previous posts. |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2007-10-24 : 04:29:46
|
Email me an empty copy of the databas and I will try. E 12°55'05.25"N 56°04'39.16" |
|
|
ioscode
Starting Member
1 Post |
Posted - 2007-11-15 : 21:49:47
|
Try setting all the parameters like this:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\machine\myDatabase.mdb;User ID=Admin;Jet OLEDB:System database=;Jet OLEDB:Registry Path=;Jet OLEDB:Database Password=passwordForDatabase;Jet OLEDB:Engine Type=0;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=;Jet OLEDB:Create System Database=0;Jet OLEDB:Encrypt Database=0;Jet OLEDB:Don't Copy Locale on Compact=0;Jet OLEDB:Compact Without Replica Repair=0;Jet OLEDB:SFP=0;" |
|
|
|