Monday, March 26, 2012

Link Server error: Msg 7399

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.
[OLE/DB provider returned message: [IBM][Client Access Express ODBC Driver (32-bit)]Driver not capable.]
What to do ? What to do ??Well , this Error belongs to Distributed Queries Error Messages collection.

- Remote OLE DB Data Source : ODBC Data Source
- OLE DB Provider : Microsoft OLE DB Provider for ODBC
- Provider Name : MSDASQL

The problem you are getting with only receiving one row on a select statement can be fixed by going into the configuration of the Client Access DSN and go to the other tab and check always scrollable, this will get all the rows.

As far as the other issue getting the error
Server: Msg 7399, Level 16, State 1, Line 1 OLE DB provider 'MSDASQL' reported an error. [OLE/DB provider returned message: [IBM][Client Access Express ODBC Driver (32-bit)]Driver not capable.]

You get this when journaling is not turned on the table on the AS400. Have one of your AS400 people turn journaling on for all the tables you need to access.

Since you noted that ..." [IBM][Client Access Express ODBC Driver (32-bit)]Driver not capable.] ".... I just could compare this error with one more familiar to Microsoft platform, and what are the reasons for getting this Error when trying to connect to MS Access DB.

1. MS Access DB is not secured Db , and there is no login : Admin with No Password .

2. The Access database is secured and :HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Sys temDB registry key is not pointing to the correct Access workgroup file.

-If you are trying to Change Data , try without : BEGIN >> COMMIT block, if possible.

-also try this link :

http://www.iseries.ibm.com/developer/db2/documents/mts/mts5.html

Hope this is something to start solving your problem.

rgds.
srdjan|||I linked two MSSQL 2000 servers by using enterprise manager. I succeeded in connecting between server 1(local) and server2 (remote). I have another remote one--server3. I used the same method to try connecting either local and server3, or server2 and server3.

I can do on local and server2 to see data from server3--

select * from server3.pubs.dbo.authors

however if I try to do this on server3

select * from server2.pubs.dbo.authors

I got following error messages:

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'SQLOLEDB' reported an error. The provider did not give any information about the error.

So what is the problem here?

I will appreciate greatly for your help.

Cathy|||1. Check list of Linked Servers in SYSSERVERS system table ( you should have both (Server2 and Server3 ) servers listed .
2. Verify that there is a login mapping for the current user on Server3.
3. Check the rights of user you are trying to connect from your Server to Server3 . ( at least you must SELECT rights on table you are querying) ....

--Returns the list of linked servers defined in the local server
exec sp_linkedservers

--Creates a linked server
exec sp_addlinkedserver

hope this help

rgds.
srdjan|||Thanks for reply.

I checked all . I also used

CREATE Database NorthwindnDistributed
Go

Use NorthwindnDistributed
CREATE TABLE dbo.Customers
(CustomerID char(5),
CompanyName nvarchar(40))
EXEC sp_addlinkedserver @.server = 'remoteserver',
@.srvproduct ='SQLServer OLEDB Provider',
@.provider ='SQLOLEDB',
@.datasrc = 'remote server IPaddress'

IF not Exists (select 'True' From master.dbo.syslogins where Name = 'remoteUser')
EXEC sp_addlogin 'remoteUser','remotePassword'

Use NorthwindnDistributed
exec sp_adduser 'remoteUser'
exec sp_addrolemember 'db_owner', 'remoteUser'
exec sp_addlinkedsrvlogin @.rmtsrvname = GM,
@.useself = FALSE,
@.rmtuser = 'remoteUser',
@.rmtpassword ='remotePassword'

exec sp_serveroption @.server = GM,
@.OPTNAME ='lazy schema validation',
@.OPTVALUE = 'TRUE'

to create new linked servers from both of local and remote sides. It still give me the error message like

Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'SQLOLEDB' reported an error. The provider did not give any information about the error.

I can do "select ..." from one side of server. But when I changed to other servers, I don't have any problems to connect them and work on them. If there is anything wrong when this server is set up? Why can I not get any error messages when i do the same operation on other servers but only fail on one particular server?:confused:

Thanks for any reply.

HELP!

No comments:

Post a Comment