SQL SERVER: Accessing Cosmos-Db in SSMS via ODBC - sql-server

I'm attempting to follow the guide here which shows how to link an azure cosmos-db as a linked server via ODBC. I have created the ODBC links to the remote cosmos-db in both x64 and x86 flavours. These appear to connect without issue when checking from within the ODBC Admin console and I can even see the data when setting up a schema, however I am unable to create a working linked server as I get the following error when testing the connection ..
"[microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
I Believe this is maybe because I have SQL Express installed and the "Providers" folder is missing from the "Linked Server" folder. I am therefore assuming that I do not have the necessary providers installed on the SQL Server Instance running locally.
I have attempted to install both the OLE DB Driver and the ODBC Driver, however these have not helped.

Related

Is there any way for Netsuite to connect to SQL Server?

I want to connect to a SQL Server database from Netsuite and then sync data to Netsuite.
Is there any way I can do it?
Here is how you can do the ODBC connection between NetSuite and your SQL server.You can do it similarly with any other SQL Server. However,Syncing the data back would require a web-service.
A linked server needs to be setup using the MS Management Studio. Below are the steps:
(MSDASQL has to be downloaded and installed piror to following the steps below if not yet preinstalled with Microsoft SQL Server Management Studio.)
Open MS SQL Management Studio and go to Server Objects > Linked Servers > Providers menu tree. Right click the MSDASQL and set these options:
Dynamic parameter
Nested Queries
Allow inprocess
Supports 'Like' operator
Right click on Linked Servers, select New Linked Server and on the General tab, set the following:
Linked Server: NETSUITE
Provider: Microsoft OLE DB Provider for ODBC Drivers
Product Name: NetSuite.com
Data Source: NetSuite.com //Copy the DSN name from ODBC Data Source
Provider String: DSN=NetSuite.com
On the Security tab, select *be made using this security context, and enter Login email and password
Try to execute SQL to test the connection
Select * from [Linked Server].[Company Name].Administrator.Accounts
Note:
This procedure is also applicable to MS SQL Server 2008.
[Company Name] is the one found at Setup > Company > Company Information > Company Name
The following table lists tasks for an ODBC driver to connect to Connect Service; however, some of these tasks are optional to complete(refer suite Answer Id: 38942)
Task
Description
Set up an environment and verify installation prerequisites.
For both Windows and Linux, see Prerequisites to verify the installation prerequisites.
Download and install the driver.
For Windows, see Downloading and Installing the ODBC Driver for Windows.For Linux, see Downloading and Installing the ODBC Driver for Linux.
Set up the ODBC connection.
For Windows, see Configuring the ODBC Data Source on Windows.For Linux, see Configuring the ODBC Data Source on Linux.
Optionally, upgrade from a previous version.
For both Windows and Linux, see Upgrading an ODBC Driver to upgrade a previous installation.
Optionally, enable authentication with server certificates.
For both Windows and Linux, see Authentication Using Server Certificates for ODBC to add increased encryption to secure the data connection.

Connect SQL Server from SQL Developer

I searched through all threads on the web available, but none could help me.
I am trying to connect to SQL Server engine from SQL Developer. In order to do that I enabled Named Pipes and TCP/IP from SQL Configuration Manager.
Then I tried different drivers:
I tried Microsoft JDBC driver for SQL Server - I cannot choose in connection manager SQL Server database type, so it does not work..
I tried jTDS driver instead, and it worked - I can choose SQL Server database type, but then all I get is an error informing that it cannot connect to Microsoft SQL Server on localhost (I tried localhost, name of my computer, none of which worked).
Is there anything more I can do?
EDIT
This is what I have so far:
SECOND EDIT
I had more problems:
With error saying
Status: Failur-I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property
Using windows authentication, I still got asked for username and password.
(All details and solutions in my answer below)
We only support the jTDS driver for SQL Server and Sybase ASE connections, so that's the way to go.
After that, it's up to you to get a correct connection string to your SQL Server system.
Make sure you have the right port in addition to your 'localhost' network location for your SQL Server instance.
This is using version 19.1 of SQL Developer to connect to a SQL2012 instance overseas..
Actually there were more problems, which I'll post here along with solutions:
In order to ba able to connect SQL Server database type from SQL developer it is needed to install jTDS driver, as already mentioned. Other types are not supported by SQL Developer.
Next thing was to configure with SQL Configuration Manager (the easiest way IMO) SQL Server to listen on IP port 1433, not dynamic, as was previously set. In order to do that in configuration manager I had to go to SQL Server Network Configuration and make appropriate changes. More here.
Next I had problem:
Status: Failur-I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property
Which was the fault of missing file, solution was placing file ntlmauth.dll to the /jdk/bin in SQL Developer directory.
I chose Windows authentication, which apparently is not supported by jTDS, so I needed to create user in SQL Server, which I use to connect SQL Server from SQL Developer.
After all that, I had it working.

Firebird ODBC Setup Error

I have a Firebird Database (v2.5) which lives on a server with hostname "FBDEVDB". I am working on a separate server on which I have installed SQL Server to begin the process of migrating the tables and data into a SQL Server database.
I saw several posts discussing that this can be done using the Import Data feature of SSMS with an ODBC connection to the Firebird DB. So, I have downloaded and installed the Firebird ODBC Driver 64-Bit. When I went to configure my DSN I first got an error regarding a missing gds32.dll. Looking into it further, I realized I needed the fbclient.dll from the Firebird files. I've copied it over to my SQL Server machine, and now the gds32.dll error is gone, and I can tell it is TRYING to connect to the Firebird instance because if I provide an incorrect username/password it tells me my login is incorrect.
However, when I use a valid login/password, I get the following error message
I have defined the following fields in the ODBC setup
Database: FBDEVDB::C:\Firebird\MYDATABASE.FDB
Client: C:\Temp\fbclient.dll
Database Account: SYSDBA with VALID PASSWORD
What am I missing? I can not seem to find any information on what this error means.
Thank you!!!!!

Cannot create an instance of OLE DB Provider 'OraOLEDB.Oracle' error when creating linked servers from SQL Server to Oracle

Aware that this topic has been raised many times here (I have gone through the posts), but none of the suggestion on the posts has resolved my issue.
When I attempt to create a linked server to the oracle database from SQL Server Management Studio, I get the error:
Cannot create an instance of OLE DB Provider 'OraOLEDB.Oracle' for
linker server ''. (Microsoft SQL Server, Error: 7302)
My understanding of this error is that the Oracle provider is not installed correctly or not at all.
To check this I ran 'ODBC Data Source Administrator (64-bit) and attempted to add the provider (which was not available).
To resolve this I fully installed Oracle 10g Client as an admin and restarted the server. I added the new oracle bin folder to the environment %PATH% as well as %TNS_ADMIN% to point to the tnsnames.ora file.
I have run 'tnsping' using the value specified in the tnsname.ora file and it is able to connect.
I have exhausted my ideas to get the oracle provider recognised by the ODBC 64 bit connector.
Does anyone have any idea that could resolve this issue?
Thank you for any help.
The solution was to follow the steps suggested by Dmitry. However, make sure you carry out the following step:
C:\Users\dbrowne\Downloads\ODAC121010Xcopy_x64>.\install.bat oledb
c:\oracle\odac64 odac64 true
as an admin!

SQL Server 2000 scheduled Job

Actually my job is take a backup data from a mysql data table to a SQL Server table.
So I created a DTS package in SQL Server 2000. When I manually run the the package, it runs successfully without any errors, and the data got transfered from MySQL to SQL Server.
But when I run the package using schedule jobs I got below error
DTSRun: Loading...
DTSRun: Executing...
DTSRun OnStart:
DTSStep_DTSDataPumpTask_1 DTSRun OnError: DTSStep_DTSDataPumpTask_1,
Error = -2147467259 (80004005) Error string: [Microsoft][ODBC
Driver Manager] Data source name not found and no default driver
specified Error source: Microsoft OLE DB Provider for ODBC Drivers
Help file: Help context: 0
Error Detail Records:
Error: -2147467259 (80004005); Provider Error: 0 (0)
Error string: [Microsoft][ODBC Driver Manager] Data source name not found
and no default driver specified
Error source: Microsoft OLE DB Provider for ODBC Drivers
Help file: Help context: 0
DTSRun OnFinish: DTSStep_DTSDataPumpTask_1 DTSRun: Package execution
complete.
So please help me on this.....
As the commenter mentioned, it could be a data source configuration problem - if you've set up your MySQL DSN as a user DSN rather than a system DSN, you'll need to change that. Open the ODBC configuration tool and go to the "System" table, rather than "User" (where it defaults) and create your data source there.
It could also be ax x64 problem - if the version of Windows you're using is x64, then the ODBC panel that opens by default shows x64 data sources. If you're using the x86 version of SQL Server (SQL 2000 has both), then you'll need to create the data source in the x86 ODBC administrator, which can be launched from:
C:\Windows\SysWOW64\odbcad32.exe
Once they're launched, they look exactly the same, so it can be hard to tell which one you've got open. A general indicator is that x64 driver list is usually way shorter - on my machine, there are about 25 drivers in the x86 version and only 3 in the x64 version. Keep in mind that if you're using SQL 2000 x86, you'll also need to install the x86 version of the MySQL driver, even if your server is x64.

Resources