SQL Server 2008 Linked server to Oracle 9i - sql-server

I found:
How do you setup a linked server to an Oracle database on SQL 2000/2005?
The DSN tested successfully but after using the stored procedures outlined in the article to create the linked server the 'open query' returned the following message:
OLE DB provider "MSDASQL" for linked server "XXX" returned message "Specified driver could not be loaded due to system error 1114 (Oracle in instantclient11_1).".
Does something need to done differently on MSSQL 2008? I was successful with MSSQL 2000.
I tried using the GUI to create the LS but received the error where it could not get the error message.
I am using instant client 11_1 on Windows server 2003.

You shouldn't be using the MSDASQL as the provider you should be using:
#provider=N'MSDAORA'
or
#provider=N'OraOLEDB.Oracle'
At least this is how my Oracle linked server is configured on every database server I have linked to Oracle. Some have the Oracle native from installing a complete Administrative Client setup, others have thin client. I don't have a DSN setup in ODBC on any of them. If you can TNSPING the Oracle instance from the command prompt on the server, then you should be able to connect to it from SQL with a linked server.

I had this error when I tried to install both 32-bit and 64-bit ODBC drivers. I had a separate subfolder for 32-bit and 64-bit under the C:\Oracle and I set both the PATH and TNS_ADMIN values to C:\Oracle. The issue went away when I modified the PATH and TNS_ADMIN to use the 64-bit path C:\Oracle\win64\instantclient_12_1.

Related

SQL Server 'Cannot create an instance of OLE DB provider "SQLNCLI11" for linked server' after patching

One of our servers went for a reboot last night after doing OS and SQL Server patching (SQL Server 2016 latest CU). Since then any call to a linked server from the patched server fails with the above error.
Other servers can still connect to the patched server, just outbound doesn't seem to work at all.
We also have an issue with the SQL Server Browser service wont start "stopped unexpectedly", although not sure if its related
Any help greatly appreciated
Microsoft OLEDB Providers - part of the SQL Server Native Client (SNAC) are deprecated:
SQLNCLI10
SQLNCLI11
You need to install Microsoft OLE DB Driver for SQL Server:
MSOLEDBSQL
The switch happened in 2018. You can read about it here:
Announcing the new release of OLE DB Driver for SQL Server
Released: Microsoft OLE DB Driver for SQL Server
Ok people, problem solved.
One of the updates tried to upgrade the OLEDB connectors, ran into a problem and bailed. It had already deleted the DLLs for the drivers though.
Finding the drivers on the Dev server and copying them across solved the issue.
For those bleeding on about SNAC on being on SQL12, that was it's release version. It's been a staple ever since and is installed as standard by SQL16. It's not untill 2022 that it's replaced

SQL Server 2019 cannot see Oracle 12.2.0 OraOLEDB12.dll in Providers list

My SQL Server 2019 Enterprise is up and running on a Windows 2019 Core vm. Connections to SQL Server databases are A-OK.
I have installed the OLEDB driver OraOLEDB12.dll via the oui.exe in the ODTwithODAC122011.zip.
I checked only the Oracle Provider for OLE DB in the Component Name list.
It created the appropriate TNSNAMES.ORA file from the info I provided.
The installer added the appropriate paths to the environment var PATH.
After restarting the Windows 2019 Core VM, and reconnecting SSMS v18.8 to the SQL Server I could not see the provider in the Server Objects, Linked Servers, Providers list.
So I ran regsvr32.exe and got back DllRegisterServer in OraOLEDB12.dll succeeded. So I restarted the VM again, and reconnected to my SQL Server and still no joy.
What am I missing here? I've search through lots of google links, on StackOverflow itself and am finding the same results, path issues, registry issues, 32/64 issues. Our Ent SQL Server is x64, our SSMS locally is X64, the Oracle driver is x64.
Did you try to install more than one Oracle client? Oracle OLEDB driver can exist only once (i.e. once each for 32-bit and 64-bit).
Version of Oracle OLEDB driver must match exactly the Oracle client.
Maybe have a look at my Oracle Connection Tester, this may give you an indication whether your Oracle OLEDB driver is properly installed.
Gentlepersons,
My apologies, I did indeed install the 32 bit driver when I thought I was installing the 64 bit.
Have deinstalled (as Oracle calls it) the previous and am moving forward with the correct installation.
Again, my apologies for wasting time.
G

SQL server linked server to SAS(Statistical Analysis System)?

has anyone ever been able to create a sql server linked server to SAS?
I have created an ODBC connection (32bit) to SAS
This ODBC works for e.g. QlikView, Tableau etc.. but how would set it up for SQL server?
Provider?
Product name?
Data Source?
Location?
Catalog?
If the DSN is already created, you can access it in SAS directly using:
libname myServer odbc dsn=PROD_PL0000 schema='dbo';
Then you'll see it as a SAS library that you can work with natively. If you do it via the GUI you can check a box to have it reconnect at start up.
I also have the same problem. The problem is in the SAS provider for OLE DB connections, it can't create a popular instance with SAS tables.
To create the linked server via OLE DB you need to go to the SAS website, download the files and install on the SQL server to set up the connection.
https://support.sas.com/downloads/package.htm?pid=648

SQL Server 64-bit ODBC Connection to 32-bit Pervasive SQL v10

I am using the 64-bit version of SQL Server 2016 Express, trying to connect to a 32-bit Pervasive SQL v10 database. I am setting up a Linked Server in SQL Server via ODBC connection, but I am receiving this error that has given me a lot of pain in the past:
The specified DSN contains an architecture mismatch between the Driver and Application
I had a similar issue not long ago trying to connect to a Microsoft Access database, but with help here I was able to obtain the 64-bit ODBC driver for Access. However, there does not seem to be one for Pervasive v10 at all, only for PSQL v11+, which does not help me in this case.
Previous question: SQL Server Linked Server to MS Access - DSN Architecture Mismatch Error
So if anyone has a suggestion for connecting to a 32-bit client from a 64-bit SQL Server installation, when there does not exist a 64-bit ODBC driver for this client, please let me know.
One of the suggested solutions was to use an OLEDB link instead (but no details provided on this, and I'm not sure how it would differ from the linked server I am already trying to create, which is already using OLEDB).
There was also mention somewhere of installing an entirely separate 32-bit SQL Express client, and chaining an additional ODBC link to point to the first one, but I would rather avoid all that overhead if possible, especially since this is a production server that is already running Sage 50 in addition to our own software and web services with SQL Server...
Other details: The client that is built on Pervasive SQL v10 that I am trying to connect to is Peachtree 2017 - Sage 50. This is all running on Windows Server 2012 R2 Standard.
More reading here:
https://support.na.sage.com/selfservice/viewdocument.do?noCount=true&externalId=12693&sliceId=1&cmd=displayKC&dialogID=50216&docType=kc&noCount=true&isLoadPublishedVer=&stateId=50217&docTypeID=DT_Article&ViewedDocsListHelper=com.kanisa.apps.common.BaseViewedDocsListHelperImpl
https://www.experts-exchange.com/questions/23995371/Installing-Pervasive-SQL-Client-on-Windows-2008-64bit-missing-ODBC-Driver.html
Edit:
Thanks for the comments! After further investigation... it looks like this IS actually PSQL v11, not v10. Now, I'm not sure why the 64-bit ODBC driver is not already installed... but I am looking into this now...

Linked Server Provider Shows Not Showing in both SQL Server Instances

I have two instances installed on my test server - a SQL Express instance and a SQL Developer instance.
I‌ just installed Oracle Db drivers (for an Oracle Db 11g instance) so that I can link to an Oracle Database using Linked Servers. The new provider ‌‌(OraOLEDB.Oracle) successfully shows in the SQL Express instance. So I'm able to successfully set up my linked server under that instance.
H‌owever, the provider doesn't show under the SQL Developer instance which is where I really wanted to use it.
Since the provider shows under SQL Express, I know the drivers are installed and presumably installed properly (e.g. right bit version, etc...)
‌
H‌ow do I the provider to show under SQL Developer as well.
run
select ##version
on both instances. Most likely you will find that one SQL instance is 32 bit and the other is 64 bit. The Oracle Driver "bit version" has to match the sql instance "bit version".

Resources