Configure SQL Server
The following example configuration was performed on SQL Server 2008, installed on Windows Server 2008.
Before you begin
The ODBC driver must be installed on the same computer on which SQL Server is installed.
Procedure
Right-click the SQL Server Management Studio application and select Run as Administrator.
Log in to the database to which you want to link.
Right-click Server Objects > Linked Servers.
Click New Linked Server.
Enter the following values in the dialog.
- Linked server:
SERVICENOW. This is the name of the Linked Server. - Provider:
Microsoft OLE DB Provider for ODBC drivers - Product name:
ServiceNow. This is an identifier. Enter any value that is appropriate. - Data source:
ServiceNow. This is the name of your DSN.
- Linked server:
New Linked Server
Select Security from the Select a page list, and then enter the following security values:
- For a login connection, select Be made using this security context.
- Enter the user name and password for connecting to the ServiceNow instance.
- Click OK.
ODBC SQL Server Security
Navigate to Server Objects > Linked Server > Providers and double-click Microsoft OLE DB Provider for ODBC drivers.
Select the following options.
- Nested Queries
- Level zero only
- Support 'Like' operator Tip:
ServiceNow recommends running the third-party provider in the out-of-process mode setting (AllowInProcess=FALSE). If you run the provider in-process (within the same process as SQL Server), then any issues with the provider can affect the SQL Server process, which in turn could result in crashing SQL server.
SQL Server Provider Options
Test your connection by selecting the newly created linked server SERVICENOW and selecting Test connection.
Execute the following query in a query builder window to retrieve some results.
ODBC SQL Server Query
What to do next
Number Precision Errors
You may encounter precision errors querying for decimal or number field values using the OPENQUERY syntax with the ODBC driver. In this case, use the Cast syntax to convert the precision. For example:
SELECT * FROM OPENQUERY (SERVICENOW , 'select Cast(sys_mod_count as Decimal(38,0)), number, short_description from incident' ) GO
SQL Server Connection String
To use the ODBC driver directly in SQL Server 2008, specify the connection string in the following format.
Dsn=ServiceNow;uid =username;pwd =password
Note: The latest SQL Server 2008 patches are required for the ability to specify a connection string in the user interface, via the SQL import wizard
Using sp_addlinkedserver
The following example creates a linked server named "ServiceNow ODBC" that uses the Microsoft OLE DB Provider for ODBC (MSDASQL) and the data_source parameter
EXEC sp_addlinkedserver
@server = N 'ServiceNow ODBC' ,
@srvproduct = N '' ,
@provider = N 'MSDASQL' ,
@datasrc = N 'ServiceNow';
GO
After creating the linked server, you must update its properties to specify the login credentials.
Parent Topic:ODBC driver in SQL Server