SSAS JDBC-ODBC Bridge Connector

In this article you will learn how to integrate JDBC-ODBC Bridge data to SSAS without coding in just a few clicks (live / bi-directional connection to JDBC-ODBC Bridge). JDBC-ODBC Bridge driver can be used to consume data from any JDBC Driver in non JAVA apps (i.e. Excel, Power BI, C#). Many apps written in C++ or .net (e.g. Excel, Power BI, Informatica) which don’t have direct support for using JAVA based JDBC driver technology..

Using JDBC-ODBC Bridge Connector you will be able to connect, read, and write data from within SSAS. Follow the steps below to see how we would accomplish that.

Download  Help File  Buy 

Create Data Source in ZappySys Data Gateway based on ZappySys JDBC Bridge Driver

  1. Download and install ZappySys ODBC PowerPack.

  2. Search for gateway in start menu and Open ZappySys Data Gateway:
    Open ZappySys Data Gateway

  3. Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
    ZappySys Data Gateway - Add User

  4. Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys JDBC Bridge Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.

    ZappySys Data Gateway - Add JDBC Data Source

  5. Now, we need JDBC Bridge Connection. Lets create it. When you see DSN Config Editor with zappysys logo first thing you need to do is change default DSN Name at the top and Configure JDBC Bridge Driver. Enter Credentials (In this Example We have used PostgreSQL Credentials) and then Click on Test Connection to verify your credentials.

    Note: Enter suitable JDBC Driver Credentials, You can read data from any JDBC Driver
    ODBC JDBC Bridge Driver - Create Connection

  6. This example shows how to write simple SOQL query (JDBC Bridge Object Query Language). It uses WHERE clause. For more SOQL Queries click here.
    SOQL is similar to database SQL query language but much simpler and many features you use in database query may not be supported in SOQL (Such as JOIN clause not supported). But you can use following Queries for Insert, Update, Delete and Upsert(Update or Insert record if not found).

    SELECT orderid, customerid, orderdate, orderamount FROM "public"."zappysys"
    ZappySys ODBC Driver - Select Table and Preview Data
  7. Click OK to finish creating the data source

Read data in SQL Server from the ZappySys Data Gateway

  1. To read the data in SQL Server the first thing you have to do is create a Linked Server. Go to SQL Server Management Studio and configure it in a similar way:
    SSMS SQL Server Configure Linked Server

  2. Then click on Security option and configure username we created in ZappySys Data Gateway in one of the previous steps:
    SSMS SQL Server Configure Linked Server User Name

  3. Optional: Under the Server Options, Enable RPC and RPC Out and Disable Promotion of Distributed Transactions(MSDTC).

    RPC and MSDTC Settings

    You need to enable RPC Out if you plan to use EXEC(...) AT [MY_LINKED_SERVER_NAME] rather than OPENQUERY.
    If don't enabled it, you will encounter the Server 'MY_LINKED_SERVER_NAME' is not configured for RPC error.

    Query Example:

    EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]


    If you plan to use 'INSERT INTO...EXEC(....) AT [MY_LINKED_SERVER_NAME]' in that case you need to Disable Promotion of Distributed Transactions(MSDTC).
    If don't disabled it, you will encounter the The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "MY_LINKED_SERVER_NAME" was unable to begin a distributed transaction. error.

    Query Example:

    Insert Into dbo.Products
     EXEC('Select * from Products') AT [MY_LINKED_SERVER_NAME]
    


  4. Finally, open a new query and execute a query we saved in one of the previous steps:

    SELECT * FROM OPENQUERY([MY_LINKED_SERVER_NAME], 'SELECT * FROM Products');

    SSMS SQL Server Query Data Results

Create Linked Server using Code

In previous section you saw how to create a Linked Server from UI. You can do similar action by code too (see below). Run below script after changing necessary parameters. Assuming your Data Source name on ZappySys Data Gateway UI is 'JdbC-OdbcBridgeDSN'

    USE [master]
    GO
    --///////////////////////////////////////////////////////////////////////////////////////
    --Run below code in SSMS to create Linked Server and use ZappySys Drivers in SQL Server
    --///////////////////////////////////////////////////////////////////////////////////////

    //Replace YOUR_GATEWAY_USER, YOUR_GATEWAY_PASSWORD
    //Replace localhost with IP/Machine name if ZappySys Gateway Running on different machine other than SQL Server
    //Replace Port 5000 if you configured gateway on a different port


    --1. Configure your gateway service as per this article https://zappysys.com/links?id=10036
    
    --2. Make sure you have SQL Server Installed. You can download FREE SQL Server Express Edition from here if you dont want to buy Paid version https://www.microsoft.com/en-us/sql-server/sql-server-editions-express

    --Uncomment below if you like to drop linked server if it already exists
    --EXEC master.dbo.sp_dropserver @server=N'LS_JdbC-OdbcBridgeDSN', @droplogins='droplogins'

    --3. Create new linked server
    
    EXEC master.dbo.sp_addlinkedserver
      @server = N'LS_JdbC-OdbcBridgeDSN'  --Linked server name (this will be used in OPENQUERY sql
    , @srvproduct=N''
    , @provider=N'SQLNCLI11'
    , @datasrc=N'localhost,5000' --//Machine / Port where Gateway service is running
    , @provstr=N'Network Library=DBMSSOCN;'
    , @catalog=N'JdbC-OdbcBridgeDSN' --Data source name you gave on Gateway service settings

    --4. Attach gateway login with linked server

    EXEC master.dbo.sp_addlinkedsrvlogin
      @rmtsrvname=N'LS_JdbC-OdbcBridgeDSN'  --linked server name
    , @useself=N'False'
    , @locallogin=NULL
    , @rmtuser=N'YOUR_GATEWAY_USER' --enter your Gateway user name
    , @rmtpassword='YOUR_GATEWAY_PASSWORD'  --enter your Gateway user's password
    GO

    --5. Enable RPC OUT (This is Optional - Only needed if you plan to use EXEC(...) AT YourLinkedServerName rather than OPENQUERY
    EXEC sp_serveroption 'LS_JdbC-OdbcBridgeDSN', 'rpc', true;
    EXEC sp_serveroption 'LS_JdbC-OdbcBridgeDSN', 'rpc out', true;

    --Disable MSDTC - Below needed to support INSERT INTO from EXEC AT statement
    EXEC sp_serveroption 'LS_JdbC-OdbcBridgeDSN', 'remote proc transaction promotion', false;
    
    --Increase query timeout if query is going to take longer than 10 mins (Default timeout is 600 seconds)
    --EXEC sp_serveroption 'LS_JdbC-OdbcBridgeDSN', 'query timeout', 1200;
    GO

Firewall settings

So far we have assumed that Gateway is running on the same machine as SQL Server. However there will be a case when ZappySys ODBC PowerPack is installed on a different machine than SQL Server. In such case you may have to perform additional Firewall configurations. On most computers firewall settings wont allow outside traffic to ZappySys Data Gateway. In such case perform following steps to allow other machines to connect to Gateway.

Method-1 (Preferred)

If you are using newer version of ZappySys Data Gateway then adding firewall rule is just a single click.

  1. Search for gateway in start menu and open ZappySys Data Gateway.
  2. Go to Firewall Tab and click Add Firewall Rule button like below. This will create Firewall rule to all Inbound Traffic on Port 5000 (Unless you changed it). Allow Inbound Traffic - Add Firewall Rule for ZappySys Data Gateway

Method-2 Here is another way to add / edit Inbound Traffic rule in windows firewall. Use below method if you choose to customize your rule (for advanced users).
  1. Search for Windows Firewall Advanced Security in start menu.
  2. Under Inbound Rules > Right click and click [New Rule] >> Click Next
  3. Select Port on Rule Type >> Click Next
  4. Click on TCP and enter port number under specified local port as 5000 (use different one if you changed Default port) >> Click Next
  5. Select Profile (i.e. Private, Public) >> Click Next
  6. Enter Rule name [i.e. ZappySys Data Gateway – Allow Inbound ] >> Click Next
  7. Click OK to save the rule
SQL Server Firewall Allow Inbound Data Gateway

Conclusion

In this article we discussed how to connect to JDBC-ODBC Bridge in SSAS and integrate data without any coding. Click here to Download JDBC-ODBC Bridge Connector for SSAS and try yourself see how easy it is. If you still have any question(s) then ask here or simply click on live chat icon below and ask our expert (see bottom-right corner of this page).

Download JDBC-ODBC Bridge Connector for SSAS Documentation 


Other App Integration scenarios for JDBC-ODBC Bridge

Other Connectors for SSAS


Download JDBC-ODBC Bridge Connector for SSAS Documentation 

  • How to connect JDBC-ODBC Bridge in SSAS?

  • How to get JDBC-ODBC Bridge data in SSAS?

  • How to read JDBC-ODBC Bridge data in SSAS?

  • How to load JDBC-ODBC Bridge data in SSAS?

  • How to import JDBC-ODBC Bridge data in SSAS?

  • How to pull JDBC-ODBC Bridge data in SSAS?

  • How to push data to JDBC-ODBC Bridge in SSAS?

  • How to write data to JDBC-ODBC Bridge in SSAS?

  • How to POST data to JDBC-ODBC Bridge in SSAS?

  • Call JDBC-ODBC Bridge API in SSAS

  • Consume JDBC-ODBC Bridge API in SSAS

  • JDBC-ODBC Bridge SSAS Automate

  • JDBC-ODBC Bridge SSAS Integration

  • Integration JDBC-ODBC Bridge in SSAS

  • Consume real-time JDBC-ODBC Bridge data in SSAS

  • Consume realtime JDBC-ODBC Bridge API data in SSAS

  • JDBC-ODBC Bridge ODBC Driver | ODBC Driver for JDBC-ODBC Bridge | ODBC JDBC-ODBC Bridge Driver | SSIS JDBC-ODBC Bridge Source | SSIS JDBC-ODBC Bridge Destination

  • Connect JDBC-ODBC Bridge in SSAS

  • Load JDBC-ODBC Bridge in SSAS

  • Load JDBC-ODBC Bridge data in SSAS

  • Read JDBC-ODBC Bridge data in SSAS

  • JDBC-ODBC Bridge API Call in SSAS