Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Express Edition and Compact Edition (2005)
 Could not find installable ISAM

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"
Go to Top of Page

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.
Go to Top of Page

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 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
Go to Top of Page

rmiao
Master Smack Fu Yak Hacker

7266 Posts

Posted - 2007-10-23 : 22:50:16
Can you create linked server with that provider?
Go to Top of Page

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'
GO

EXEC 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.
Go to Top of Page

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"
Go to Top of Page

bodjo
Starting Member

8 Posts

Posted - 2007-10-24 : 01:40:16
It's on my local machine same with my SQL Server.
Go to Top of Page

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"
Go to Top of Page

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.
Go to Top of Page

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 reply
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=49926&whichpage=6#246397

Do as it says, try again, and come back with the more detailed error message.



E 12°55'05.25"
N 56°04'39.16"
Go to Top of Page

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 1
Cannot 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'
GO

EXEC 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.
Go to Top of Page

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 connectionstrings
http://www.carlprothman.net/Default.aspx?tabid=81

It 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"
Go to Top of Page

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.
Go to Top of Page

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"
Go to Top of Page

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;"
Go to Top of Page
   

- Advertisement -