Difference: ReadingSQLTablesfromAPPXUnix (9 vs. 10)

Revision 102019-04-11 - JeanNeron

Line: 1 to 1
 
META TOPICPARENT name="APPXExternalDatabases"

Reading SQL/Server Tables from APPX/Unix

In order to access data stored under SQL Server under Windows while running APPX/Unix you have 2 choices, depending on which version of APPX you are currently running.

APPX Version 5.4.2 and earlier

The technique is to install a copy of APPX for Windows and connect it to SQL Server in the usual way. Once that is working, then use APPX/Net to connect your APPX Unix server to your APPX/Windows server. When APPX/Unix access the data over APPX/Net, the APPX/Windows server will retrieve it from SQL Server.

  1. Install APPX on a Windows server.
  2. Copy the application from Linux/Unix to Windows. Note that if you are copying from AIX, HP or Sun you must export your design files and import them into the Windows server. Linux Application Files are binary compatible with Windows, so you can just copy the Application Design files directly. We only need the Data Dictionaries for the file(s) you want to access, alternatively you can just manually enter the Data Dictionary in APPX/Windows if that's easier. You must keep the Data Dictionary in sync between APPX/Windows and APPX/Unix.
  3. Connect APPX/Windows to SQL Server following these instructions.
  4. Now set up an APPX/Net connection between your APPX/Unix server and your APPX/Windows server following these instructions

APPX Version 5.4.3 and higher

APPX Version 5.4.3 has been tested with the DataDirect SQL Server ODBC connector from Progress Software (SQL Server ODBC Connector) and the ODBC Driver from EasySoft.

NOTE: This should be considered an 'experimental' feature in 5.4.3. We welcome any feedback on your experiences or testing.

DataDirect

The connector is available in both 32 bit and 64 bit versions, make sure you install the version that matches your APPX version. If you are not sure if APPX is 32 bit or 64 bit, then it is probably 32 bit.

After installing and testing the connector, you must set the following environment variables in APPX:

APPX_ODBC_LIB=<path to the Progress supplied libodbc shared library>
ODBCINI=<path to your odbc.ini file>
ODBCINST=<path to your odbcinst.ini file>
LIBPATH=<path to the folder containing the Data Direct libraries>

If you aren't sure what the APPX_ODBC_LIB path should be, check the 'odbc.ini' file and use the path indicated by the 'Driver' line. The other variables also set during the DataDirect installation, you should be able to determine their values from that step.

These should be set in the $APPXPATH/appx.env file, i.e.,

#
# Progress Data Direct Setup
#
LIBPATH=/opt/Progress/DataDirect/Connect_for_ODBC_71/lib
APPX_ODBC_LIB=/opt/Progress/DataDirect/Connect_for_ODBC_71/lib/odbc.so
ODBCINI=/opt/Progress/DataDirect/Connect_for_ODBC_71/odbc.ini
ODBCINST=/opt/Progress/DataDirect/Connect_for_ODBC_71/odbcinst.ini

Once you have a working connection, then configure the APPX ODBC connection as usual.

NOTES:

Changed:
<
<
  1. Some versions of Unix use LIBPATH (i.e., AIX) and others use LD_LIBRARY_PATH. Set the appropriate variable for your system.
>
>
  1. Some versions of Unix use LIBPATH (i.e., AIX) and others use LD_LIBRARY_PATH. Set the appropriate variable for your system. If that still doesnt' work, copy the Progress shared libraries to a standard location, such as /lib:
cp /opt/Progress/DataDirect/ODBC_80_32bit/lib/* /lib/
 

EasySoft SQL Server ODBC Driver

The connector is available in both 32 bit and 64 bit versions, make sure you install the version that matches your APPX version. If you are not sure if APPX is 32 bit or 64 bit, then it is probably 32 bit.

The EasySoft driver may not include the unixODBC driver manager software. If not, you must install that first from unixODBC.org. Make sure you can establish your connection using 'isql' before trying to connect via APPX.

After installing and testing the connector, you must set the following environment variable in APPX:

APPX_ODBC_LIB=<path to the shared library>

If you aren't sure what the APPX_ODBC_LIB path should be, check the 'odbcinst.ini' file and use the path indicated by the 'Driver' line.

These should be set in the $APPXPATH/appx.env file, i.e.,

#
# EasySoft Driver Setup
#
APPX_ODBC_LIB=/usr/local/easysoft/sqlserver/lib/libessqlsrv.so

Once you have a working connection, then configure the APPX ODBC connection as usual.

Troubleshooting

  • If you get the error "*Can't load ODBC driver manager" your APPX_ODBC_LIB path is incorrect.
  • Most modern versions of Linux will not recognize a new library path if you have the 'setuid' bit set on the APPX executable. Remove the 'setuid' bit and configure the Login Manager to impersonate the APPX user and group.

Comments:

Read what other users have said about this page or add your own comments.



<--/commentPlugin-->
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback