APPX ODBC Installations Instructions
This page provides instructions for installing APPX ODBC 5.
APPX ODBC is used by APPX customers to gain access to APPX data from external products, such as Crystal Reports or Excel. Installation of APPX ODBC 5 is accomplished by simply following the steps outlined below. APPX ODBC 5 is a Windows only product for now.
APPX ODBC 5 is a new product compared to earlier versions of APPX ODBC. There is no upgrade, just uninstall the older version prior to installing the new version
AppxODBC requires 3 components to work. The Appx FMS Server (APPX server configured to listen on TCP 8060 by default), The Appx ODBC Data Gateway (aka AppxODBC
Server, configured to listen on TCP 1990), and the Appx ODBC Driver with ASQL tool. These components can all be installed on one computer or each component could be installed on separate computers. The Appx FMS server should already be installed and running. The APPX FMS Server is an APPX server configured to accept APPX client connections via TCP, by default TCP 8060. Install the Appx ODBC Data Gateway, then the Appx ODBC Driver + ASQL. Run ASQL to import Apppx dictionaries. On non-admin PCs you could choose to install the Appx ODBC Driver (minus ASQL). Here's what each installer does do...
This will install the "Appx ODBC Data Gateway" service and supporting files. This service listens on TCP port 1990 for connections from the Appx ODBC Driver installed on the ODBC client desktops. The Data Gateway contains one or more database directories each with it's own schemas imported via ASQL and each having its own appx.env file that tells it the host and port of the Appx FMS Server for that database. By default the installer creates a default database called "appx". This creates a directory tree in the server install directory called "appx.dbs". That directory contains all the schema files for database "appx" as well as its appx.env file. The bin subdirectory of the AppxODBC
Server directory contains two important executables the gateway service tool AppxODBC
.exe. This is the program that will listen for connection attempts on TCP port 1990 from desktop computers running the Appx ODBC driver. You'll also find in the bin sub directory the mdcreate.exe. I'll explain mdcreate in an example further in this documentation, mdcreate is a command line tool optionally used to create connections to secondary APPX servers.
When a connection request is received from a desktop driver it takes the database from the request, "appx" by default, reads the appx.env file, and attempts to start up an FMS connection to that Appx host using the login and password received from the desktop driver. If authentication is successful then the APPX ODBC server starts brokering requests from the ODBC client desktop's ODBC driver to the APPX FMS server. Your server's process list on the APPX ODBC server will have a new Data Gateway task for each ODBC client driver connection. Each Data Gateway task creates its own APPX FMS connection to the Appx server.
The installer should create everything needed in the way of the "appx" database, the appx.env file, and configure and start the service task. Upon completion of the installer the Appx ODBC Data Gateway should be ready for connections. This installer does not install an Appx ODBC driver or ASQL application. Nothing on this server is visibly runnable other than you can see that the service is running using Microsoft Windows Services applet. You might look at the appx.env file to see that it looks right.
This will install the desktop Appx ODBC Driver. This is what WinSQL
and other desktop application will use to connect to the Appx ODBC Data Gateway, which in turn connect to APPX. During the install it will create a default System DSN using the driver and setting up the DSN to properly connect to the Appx ODBC Data Gateway. Once this installer is done the driver should be installed and there should be a functioning System DSN you can use to request data. That can't happen until ASQL has been run to import Appx data dictionaries into the Data Gateway database schemas. ASQL is not included in this installer for security reasons. When you use the driver to get data the user and password you use is your Appx user and password for the Appx server on the back end of the FMS connection between the Appx ODBC Data Gateway and the Appx FMS server.
This is the same as the other driver installer except that it does include ASQL. This must be installed on at least one desktop so that ASQL.exe can be used to import the APPX data dictionary of the desired APPX files.
APPX ODBC 5 includes many new features and bug fixes. As always, before upgrading your APPX production system, you are strongly encouraged to install APPX ODBC 5 into a test environment where you can verify the compatibility of your applications. APPX ODBC 5 has been thoroughly tested but, because of the complexity of computer software, there will certainly be bugs and some ODBC clients that will not be able to connect to the ODBC server. Consequently, there is no guarantee that your applications will be completely compatible with this significant new release. It is your responsibility to test your applications to ensure that they are compatible with this new release of APPX ODBC and to make any changes that may be necessary to maintain compatibility. Finally, before upgrading your production system, make a backup of your applications and your data. Your computer software and your data are important assets of your organization. Please be prudent and take the steps needed to protect this important investment.
APPX ODBC Server and Driver Installation Instructions
Windows Server/XP/Vista/Win 7
We're going to install APPX ODBC Server on a Windows Server 2008 64 bit. APPX 5.0.2 is already installed on a Windows Server 2003 32 bit server and configured to listen on TCP port 8063. You should keep the versions the same between APPX ODBC and APPX Server, otherwise you could end up with performance issues or failure to connect errors. APPX ODBC Server listens on TCP port 1990. Let's make sure that that TCP port is available with the OS netstat command line tool.
Verify TCP Port 1990 is open via Netstat Command
The image above demonstrates using the Windows OS commands netstat and findstr to search for TCP port 1990. As you can see nothing was returned, so we can be sure that the port is available.
Download and run the APPX ODBC Server installation file.
Let's download the APPX ODBC Server and start the installation.
Execute the AppxODBCserver _5_0_2_windows.exe installation file shown in the image above.
Click Next on the APPX ODBC installation welcome screen.
The APPX ODBC server is a 32bit application. It will install by default to either C:\Program Files\AppxODBC Server\ if you are installing it on a 32 bit version of Windows, or C:|Program Files (x86)\AppxODBC Server\ if you are installing onto a 64 bit version of Windows.
You can accept the default Start Menu Folder name of AppxODBC Server.
In the image above, you can see the ODBC Server prompting for the TCP port that your APPX Server's appxLoginMgr is configured to listen on. This can be APPX on any platform (Windows, Linux, HPUX, IBM AIX, Sun Sparc based Solaris) with the same version of APPX as the AppxODBC that you are installing now.
The image above shows that I'm instructing AppxODBC to point to the APPX server named hankwilliams.internal.appx.com on TCP port 8060.
AppxODBC server installation is complete.
The image above demonstrates the use of OS commands tasklist, findstr and netstat to verify that the AppxODBC server process is indeed running and listening on TCP port number 1990.
In the image above, you can see the service "Appx ODBC Data Gateway Service" in the OS Services panel. Notice that the Startup Type is set to Automatic, and the Status is Started.
As you can see in the image above, the tool placed an uninstall option in the just created AppxODBC menu group.
The directory listing above shows some of the files that are created in the AppxODBC Server directory structure. Notice the executable in the bin subdirectory, the appx.dbs subdirectory and the appx.env file inside appx.dbs. appx.dbs is the directory created for the default DSN database named appx. The configuration information for TCP port number of APPX and the APPX Server name is contained in the appx.env file.
C:\Program Files (x86)\AppxODBC Server>more appx.dbs\appx.env
C:\Program Files (x86)\AppxODBC Server>
The contents of the appx.env file is displayed above.
Download and run the AppxODBC driver and ASQL data importer.
With AppxODBC 5.0.2 we've seperated the ODBC driver from the data importer. You may wish to put the APPX Server, AppxODBC server and AppxODBC driver and ASQL all on one machine. Then put just the AppxODBCdriver on each client's desktop that needs to access APPX from an application such as Microsoft Excel. If the AppxODBC user is an APPX developer, it might be desirable to have the AppxODBC driver and ASQL importer on the same desktop as the ODBC client client application (Excel, Crystal Reports, etc...). For this example I am keeping all AppxODBC components on a single machine, with the APPX Server on a separate machine. Your configuration could demand each component be installed on a separate machine.
I'm going to execute the AppxODBCdriver+ASQL_5_0_2_windows.exe to begin the installation of the driver and ASQL importer.
Click Next when the AppxODBC driver/ASQL installation welcome screen is presented to you.
ASQL data is created by the user at runtime. You should install AppxODBC in a directory that the user has write access to. A good choice is C:\Appx\AppxODBC Driver\. This will prevent write access problems for OS configurations that prevent users writting to C:\Program Files\ or C:\Program Files (x86)\ directories.
Accept the default name for the Windows Start Menu program group for AppxODBC driver.
AppxODBC driver needs to know the location of the AppxODBC server.
In the image above, I'm specifying localhost because my AppxODBC server is the same machine as the AppxODBC driver/ASQL machine. You should enter the DNS resolvable name or IP address of the server you install appxODBC server and then click Next.
The installer should report that the AppxODBC data source has been created. Click OK.
You have completed the installation of AppxODBC driver and ASQL components. You should now run ASQL to begin the data structure import.
Importing APPX data structure via the AppxODBC ASQL tool.
Running ASQL, you are first prompted for a Data Source Name (aka DSN), and a user name and password to log into APPX with. Optionally you can enter a Database ID and Application ID. Bug: Entering a database may cause connection errors. If this happens, leave the database blank.
In the image above, I'm using the default created DSN named AppxODBC, and I've specified an APPX user name and password. I am going to leave Database ID and Application ID empty and will browse via the data selector after I log in.
The connecton to the Appx server is being made via the AppxODBC server.
The ASQL program is performing some initial setup of the data structure.
The ASQL program is performing some initial setup of the data structure.
At this point, we are presented with the databases available to our appx user that we logged into APPX with since we did not identify the initial database in the ASQL login screen. Out account can see the 1EX and DMO databases.
Prospect in the DMO database is selected, and IMPORT is run. The APPX DMO PROSPECT data is then made available to external sources such as WinSQL or Excel using thier ODBC connection / data import and referencing the AppxODBC System DSN.
Manually creating a new AppxODBC data source on the AppxODBC Server
On the appxODBC server, open a command window in the appxODBC\bin\ directory, and execute "mdcreate development" where development is the name of the name you wish to give the odbc gateway. It doesn't have to match anything on the APPX server side, but it would be a good idea to name it meaningfully.
In the screen shot above, you can see the newly created directory on the appxODBC server. I named my new appxODBC gateway localhost, and the mdcreate tool created a directory on the appxODBC server named localhost.dbs. Inside the directory localhost.dbs you can see a configuration file named appx.env. This appx.env file contains a string "APPX_DATA_SERVER=localhost:8060". This string tells the appxODBC server that listens on TCP port 1990 to connect to the APPX Server on localhost at TCP port 8060.
As you can see above, there are actually two odbcad32.exe files on my APPX ODBC client (the desktop that I install ASQL.exe). My 64 bit OS places the 32 bit odbcad32.exe inside \Windows\SysWOW64\odbcad32.exe. Use the 32bit version to create the new DSN for the newly created ODBC datasource on the appxODBC server.
\Windows\SysWOW64\odbcad32.exe (for 64 bit windows) or \Windows\System32\odbcad32.exe (for 32 bit Windows), System DSN tab shows the default created AppxODBC System DSN. We want to create a new DSN to match the manually created data source that we created on the appxODBC server.
In the photo above as a point of reference, you can see the values that are assigned to the default created AppxODBC System DSN. Notice the database is named appx. This corresponds to the appx.dbs directory on the appxODBC server in the \Program Files (x86)\AppxODBC Server\ directory. In the next steps below we will create a System DSN using a database named localhost to match what we created on the appxODBC server.
In the image above, after clicking the Add button on the System DSN tab, we are presented with the choice of data source driver. Choose AppxODBC Driver.
The blank fields above are presented after you select the driver. You'll want to fill in the first four fields: Data Source Name, Description, Host and Database.
The value you use in the first field in the image above, Data Source Name, will be referenced by the ASQL data importer when you are prompted for the Data Source Name. The second field, Description, is just for reference. The third field, Host, should be a DNS name that is resolvable, or an IP address to the appxODBC server, that may or may not be the same as the Appx server.. The last field we will fill in is the Database field. This field is the name of the database on the appxODBC server that we wish to connect to. Each database will have a databasename.dbs directory in the C:\Program Files\AppxODBC Server\ directory.
Your newly created appxODBC System DSN is now ready for the schema importer ASQL.exe.
Troubleshooting AppxODBC Server
Troubleshooting AppxODBC Driver/ASQL
If you receive an error like below when you connect to a local instance of APPX via ASQL, you may be missing the 0SA\Struct\SYSDIR.dat file. You can create this file by selecting System Administration > System Setup > System Administration File Management > Create Files. Then restart ASQL and attempt to connect to APPX again.
The images above can occur when 0SA\Struct\SYSDIR.dat file is missing. This error will occur at the beginning of the connection attempt from ASQL to APPX.
This error can also occur if you specify a Database on the ASQL login screen. This is a bug, until it is fixed, just leave the database blank. You can specify an Application.
Appx ODBC Gateway Service stopped or blocked by firewall.
ASQL.exe failure to connect to the APPX ODBC gateway server (aka appxODBC Server) on TCP port 1990.
WinSQL failure to connect to the APPX ODBC gateway server (aka appxODBC Server) on TCP port 1990.
If you receive the either of the two above errors, verify that the appxODBC Server's service named "Appx ODBC Data Gateway Service 05.02.0000" is started. Also make sure the TCP port 1990 is not blocked between the Appx ODBC client and Appx ODBC server.
Installing on Windows 64 bit
AppxODBC is a 32 bit product. The Windows ODBC System DSN it creates is 32 bit not 64 bit. To view and manage 32 bit DSNs on a 64 bit version of Windows, you must specify the 32 bit version of odbcad32.exe. For 64 bit Windows, to manage 32 bit DSNs like AppxODBC, use \Windows\SysWOW64\odbcad32.exe and not the 64 bit version with the same name found at \Windows\system32\odbcad32.exe.
If you are working on a 32 bit version, this does not apply to you, just run the odbcad32.exe found in your Administrative tools (which is mapped to \Windows\system32\odbcad32.exe.)
The Dharma Interface Manual explains how our ODBC interface works and details supported SQL statements and syntax.
Linux and Unix
- APPX Server version and AppxODBC version should match. Mismatched version can cause failure to connect, or extreme loss of performance in AppxODBC data connection.
- Entering a Database on the connection screen will cause connection problems. Leave the database blank.
Read what other users have said about this page or add your own comments.