How to connect the xdbc to a linked server without a DSN

Our company uses the xdbc to access the cobol data for several dozens of sites. We have one particular setup where we have an app server and a db server. Some of our data is in the sql server and some of it resides on the app server in cobol files. We use the sql linked server to access the cobol files with views that way we can do joins between the sql tables and cobol files. The issue that we are trying to solve is that we are trying to find a way to connect a linked server to the connection on the app server. I'm not sure if this can be done without using a second install of the xdbc on the sql server that points to the cobol files on the app server. We just use the local install now and I can't really figure out how to use the network version this way. Does anyone have ideas on how we could accomplish this?

Top Replies

  • AcuXDBC allows you access to the local data. AcuXDBC Server allows a client connect to the AcuXDBC Server and AcuXDBC responds wiith the data on the server.

    Does this doc help .. community.microfocus.com/.../AcuXDBC_2D00_LinkedServer_2D00_instructions.pdf

  • Suggested Answer

    Good morning,

    If I understands correctly, you want to access both VISION data (located on the app server) and the SQL Server tables from the app server.

    I think that the only way to do this is to create on the app server 2 DSN's:

    - one using the AcuXDBC driver, installed on the app server itself, which points to the local data files on the app server

    - a second DSN created with a SQL Server client driver, still on the app server, which points to the remote db server
    (not to the Linked Server there, but to the direct SQL Server itself)

    Then, using a client such as MS Excel or MS Access, you can work with these 2 DSN's together.

    Let me know if this answers your question or you have further doubts.

    Claudio Contardi
    Product Support Engineer, Senior
    Micro Focus

  • Thanks for the reply

    So we do have a solution so far to this, but just with what we feel might not be the best one. I'll try to explain a little better as a feel I didn't explain well before.

    We have an app server and sql server. We have two data sources, the local data files on the app server and the sql database on the sql server. This is what the current setup looks like:

    • App Server
      • has the application service installed and running
      • contains the local data files
      • acuXdbc installed and configured
      • DSN using the acuXdbc driver
    • SQL Server
      • acuXdbc installed and configured
      • DSN using the acuXdbc driver
      • SQL database
      • Linked Server that points to the local data files on the app server
      • Views get created in the SQL database using the linked server to allow for table joins

    This is working fine for us at the moment. So are current architecture is that we have two connections in our application: one to the sql server and one through the acuXdbc driver. We use the needed connection depending on the data being read/updated. In the rare occurrence that we need to JOIN across tables from sql to the local data files we use the views in the sql connection that then will use the linked server/acuXdbc driver.

    The problem for us is we are having to install and configure the acuXdbc driver twice, the first for the app server and second for the sql server. While it's not a big deal we do have to pay for two licenses to do so. The other issue is our deployment pattern is trying to keep from setting up the acuXdbc and a DSN on the sql server if we can. Right now I'm not even sure if that's an option since even with the network version of the acuXdbc it seems like you still have to install the driver on both servers.

    While your suggestion is a good idea, I'm not sure if it would work for us since we do need those table joins across data sources.

    Thanks again for your reply.

  • Thanks for your reply

    This is what we are actually doing currently, just with two different servers.

    I replied down below on the suggested answer if you are curious.

    I appreciate your help!

  • Verified Answer

    if you don't want to create a DSN on the server, you may try and use a connection string in your Linked Server:

    https://community.microfocus.com/cobol/acucobol/w/wikiid-122/22748/acuodbc-and-acuxdbc-connection-strings

    But you will have to install the AcuXDBC driver anyway on both machines.