I am currently configuring a linked server connection between Microsoft SQL-Server and a Microsoft Access database in our network. To make things easy, I saved the Access db locally and tried to configure the linked server.
First I created a system-DSN named "BADEN32" (32 bit)
This DSN refers to my Access database (located C:\Users\xxx\Desktop\Baden.accdb)
For this DSN, I used the Microsoft Access Driver (.mdb .accdb)
When I try to create a new linked server, I keep getting the following error: Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "BADEN32"
I have already checked the MSDASQL provider if allow inprocess was true, but it was.
What am I doing wrong here?
You're linking to the SQL server from the Access Database? You would need to set up an ODBC connection to the SQL server and test it. Once it is working, go to the Access Database, External Data Tab, then ODBC Database to set up.
If this isn't what you mean, could I get more information?
Related
Created DNS and installed ODBC Drivers followed same steps from below URL
https://snowflakecommunity.force.com/s/article/how-to-set-up-a-linked-server-from-sql-server-to-snowflake
Once creating testing connection at last step it shows error like
OLE DB provider "MSDASQL" for linked server "SNOWFLAKEDATA" returned message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified". (Microsoft SQL Server, Error: 7303)
But DNS created and used followed same way in URL. Can i know where I made mistake?
Please ensure to create the linked server to Snowflake with the following information:
Provider: This should be "Microsoft OLE DB Provider for ODBC Drivers."
Data Source: This should match the ODBC system/user DSN name that was previously configured
Under the Security Tab on left panel, make sure to add a local login (your local machine's login including your host name) associated to a remote user (snowflake username) and its matching password.
I've inherited a linked server and would like to access the server and db\instance locally. I suspect the linked server isn't necessary and a better solution might be available.
Problem is there is no documentation on the Linked Server and the person that set it up has long since left.
My question is:
How can I find out the IP address, machine name, SQL db and instance name(s) from the linked server?
You can either use
EXEC sp_linkedservers
Or
SELECT * FROM sys.servers
To find more info on your current linked servers.
The error referencing MSDASQL suggests an issue with an ODBC (system) data source created on the server, so if you go to Control Panel->Administrative Tools-> Data Sources (ODBC) you might start finding your answers there.
Right click the linked server in management studio and generate a CREATE TO script and check the connection details.
I have a Toshiba laptop with Windows 7 on which I have installed SQL Server 2014 for my database and use Microsoft Access 2016 to manage the data in a user-friendly way.
Everything worked perfectly fine till I tried to connect to the database from another PC on the same network, also with Windows 7.
I am able to connect to the database from the second PC using Microsoft SQL Server Management Studio and SQL Server Native Client 11.0, logging in as sa using SQL Server authentication.
However, when I open the Microsoft Access database file from the second PC, a window pops up, saying that:
See this image.
And when I press OK a second window pops:
See this image.
I have configured the database to use a specific TCP/IP = 1433
Also made new inbound rules in windows firewall for all SQL Server services.
Please note that there is no domain involved here. I don't have a Windows server and the SQL Server is installed on PC #1.
If you require more information, please tell me, I'll be happy to provide
Hope someone will be able to help!
try to use LINKSERVER
Using SQL Server Management Studio
To create a linked server to another instance of SQL Server Using SQL Server Management Studio
In SQL Server Management Studio, open Object Explorer, expand Server Objects, right-click Linked Servers, and then click New Linked Server.
On the General page, in the Linked server box, type the name of the instance of SQL Server that you area linking to.
SQL Server
Identify the linked server as an instance of Microsoft SQL Server. If you use this method of defining a SQL Server linked server, the name specified in Linked server must be the network name of the server. Also, any tables retrieved from the server are from the default database defined for the login on the linked server.
Other data source
Specify an OLE DB server type other than SQL Server. Clicking this option activates the options below it.
Provider
Select an OLE DB data source from the list box. The OLE DB provider is registered with the given PROGID in the registry.
Product name
Type the product name of the OLE DB data source to add as a linked server.
Data source
Type the name of the data source as interpreted by the OLE DB provider. If you are connecting to an instance of SQL Server, provide the instance name.
Provider string
Type the unique programmatic identifier (PROGID) of the OLE DB provider that corresponds to the data source. For examples of valid provider strings, see sp_addlinkedserver (Transact-SQL).
Location
Type the location of the database as interpreted by the OLE DB provider.
Catalog
Type the name of the catalog to use when making a connection to the OLE DB provider.
http://www.quackit.com/sql_server/sql_server_2014/tutorial/linked_servers.cfm
This is the first time I've had to work with an Excel sheet as a linked server, and after a whole ton of struggling with it and solving one issue only to hit another I've decided to reach out. Long story short I have a SP that pulls data from an Excel linked server(this was originally just an open datasource rather than a linked server but I had issues there too) the SP works fine locally, however when I run it remotely, I was just getting error 7302 "can not create instance of provider" then after doing some searching I enabled "allow in process" and "Dynamic Parameter" in the provider settings, and now I'm getting:
Msg 7399...
The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked
server "JOBDETAILS" reported an error. The provider did not give any
information about the error.
Msg 7303...
Cannot initialize the data
source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked
server "JOBDETAILS".
I looked through event viewer on both the local and remote servers and the local was logging a Com applications permissions issue when I tried to execute from remote using Windows Credentials(the end result will be running with SQL creds but I also tried Windows for troubleshooting purposes) so I corrected the permissions issue but that had no effect.
Solved my own stupidity, went back through everything this morning, and realized I had pointed the linked server to a mapped drive.
Can anyone guide me around to linking a server to another in SQL Server 2008 R2? I am getting the following error when trying to do so in Management Studio.
The linked server has been created but
failed a connection test. Do you want
to keep the linked server?
ADDITIONAL INFORMATION:
An exception occurred while executing
a Transact-SQL statement or batch.
(Microsoft.SqlServer.ConnectionInfo)
The OLE DB provider "SQLNCLI" for
linked server "CDSPM1" reported an
error. Authentication failed. Cannot
initialize the data source object of
OLE DB provider "SQLNCLI" for linked
server "CDSPM1". OLE DB provider
"SQLNCLI" for linked server "CDSPM1"
returned message "Invalid
authorization specification".
(Microsoft SQL Server, Error: 7399)
Seems like Authentication problem.
Test by creating the linked Server using "Server Type" as "Sql Server". Then go into "Security" and set your user mapping. As a test, create a SQL login on the remote system and specify that on the "Be made using this security context"
Be sure that you can PING the "Linked Server" name first. HTH
Use drop down and choose
SQL Server Native Client
instead of
SQL Server
Use below link to view the screenshots of connecting the linked server with SQL Server
To solve "Cannot initialize the data source object of OLE DB provider "SQLNCLI10" for linked server" problem
Connect MS Access to SQL server 2008 via linked server
Then use below query to get more information about the linked server
select * from openquery("owner_pc\sqlserver2008",'select * from Testing.dbo.test')
This was driving me round the bend. And the fact you can't edit a Linked server after you entered it is just bananas.
Anyway, just leave most of the boxes empty on the linked server dialogue! Use "SQL Server Native Client" like #abatishchev mentioned then..
Check Kamran's article here for the settings. Only Datasource was filled in for me as IP hostname, after I'd give the server a friendly name in "Linked server", and on the second tab didn't need to bother with any logins just radio button the bottom one and used the SA login on the remote box.
In the general page of New Linked Server, type the sql-server instance name in the [Linked Server] box. Click on the [SQL Server] check box when selecting [Server Type]. Type remote username and password atfer selecting [Be made using this security context] of Security tab.
Select top 10 * from [LINKEDSERVERNAME].[DATABASENAME].[SCHEMANAME].[TABLENAME]
Best of luck.
for more details information http://msdn.microsoft.com/en-us/library/ff772782.aspx
A possible cause, if you have clustered service , and has recently been balanced , it is likely that a connection has been blocked pointing to old resource.
Try moving again resource to another node and reopening the Management studio, try again linked server connection.