Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Debugging APPX/ODBCThe top two reasons for APPX/ODBC problems are: 1) Old version installed. Even if you're running APPX release 3.5, you should download the current "APPX ODBC Server" from the Desktop Downloads page. 2) Stack size too small. All APPX/ODBC users should use ' stackfix.exe' to increase the size of the stack for the PC programs they are using with APPX/ODBC.Following is a checklist of the steps asql.exe goes through when installing APPX/ODBC. If you run into a problem installing APPX/ODBC, the first step in debugging is to determine how far through the checklist asql gets. First, a few terms: <WINDISK> is the drive where Windows is installed (usually c:) <WINSYSDIR> is the WINDOWS\SYSTEM or WINNT\SYSTEM directory <INSTALLDIR> is the place where the user wants to install APPX/ODBC 1) The setup program should display the following screens: Welcome Readme - should display<INSTALLDIR>\readme.txt file Choose Installation Location - should default to<WINDISK>\AppxODBC Select Program Folder - should default to AppxODBC Start Copying Files Progress Indicator Setup Complete 2) The setup program will install the AppxODBC driver, MFC, and ODBC <WINSYSDIR>\ 3) The setup program will install the following files in <INSTALLDIR> mdsql.exe - command line SQL interface (currently non-functional) 4) The setup program should create an ODBC data source, you can confirm this 1) The "Drivers" panel should list a driver named "AppxODBC" and the
5) The following registry entries will be made:
6) The readme.txt file tells the user to run the following commands: 7) readme.txt also explains how to import APPX file descriptions into the SQL database. The <INSTALLDIR>\asql.exe program does the following: 1) Create a log file titled "c:\appxodbc.log" 2) Connects to the AppxODBC data source using "DSN=appxodbc; UID=dharma; PWD=none;" 3) Finds a non-standard function (bld_table_script) in the AppxODBC driver 4) Executes a "CREATE TABLE" command for the 0SA SYSDIR file 5) Reads each record from the 0SA_SYSDIR table 6) Displays the list of SYSDIR entries to the user 7) When the user selects a file he wishes to make available through ODBC, builds and executes a "CREATE TABLE" command for the desired file If the user is presented with a list of SYSDIR record in step 6, AppxODBC is installed. If the server is using APPX_PD_SIGNS=FD (this is typically done by sites which access data stored in CISAM), then APPX_PD_SIGNS=FD must be set on both the server and the client. If this variable is not set in both places, one error which could result is that all fields of all records will show up as #Deleted# when viewing a table. Note that to have APPX_PD_SIGNS=FD set correctly on the server, you must set it either in a system startup script like one of the rc files, in your start-appxd.sh, or in your server's global appx.env file. (NOT the individual users' profiles, since they don't get executed when an appxd connection is made.) See also the following ECRs: #4500 - how to debug AppxODBC Server? #4503 - AppxODBC throughput rates #4533 - How2 edit AppxODBC asql table #4547 - AppxODBC: All Rows "#Deleted" #4760 - AppxODBC Windows SQL utility #4796 - AppxODBC: CTL3D32.DLL version #4826 - AppxODBC & CrystalRp: Connect #4916 - APPXODBC MS-Access access den #4950 - MSQRY32 caused a stack fault #4992 - MS-Access: cells all "#Name?" #5032 - APPXODBC and Crystal Rep 5.0 #5084 - mdcreate: Can't open DB-20054 #5114 - asql debugging When debugging APPX/Net, or APPX/ODBC to remote APPX data problems, there are two levels of APPX/Net protocol that can be logged: APPX_NET_LOG (the lower level) and APPX_NETIO_LOG (the upper level). (Protocol is the mechanism by which the client and server talk with each other.) The lower level (NET LOG) is common to both APPX/Net and the APPX Presentation Server. On the Client side, the lower level protocol is monitored via the environment variables APPX_NET_LOG and APPX_NET_LOG_MASK. Ex: APPX_NET_LOG=C:\net.log APPX_NET_LOG_MASK=0xFFFFFFFF On the Server side, the lower level protocol is monitored via the environment variables APPX_NETIO_SERVER and APPX_NET_LOG_MASK. Ex: APPX_NETIO_SERVER=/tmp/netio.server.log APPX_NET_LOG_MASK=0xFFFFFFFF On the Client side, the upper level protocol is not being logged as of 4.0.a. On the Server side, the upper level protocol is monitored via the environment variables APPX_NETIO_LOG and APPX_NETIO_CODE._ Ex: APPX_NETIO_LOG=/tmp/netio.log APPX_NETIO_CODE=0xFFFFFFFF When running APPX/ODBC to remote APPX data, you also have APPX/ODBC logging on the client side: APPX_ODBC_LOG=C:\appxodbc.log APPX_ODBC_CODE=0xFFFFFFFF See Setting Environment Variables for discussion of ways environment variables can be set. Comments:Read what other users have said about this page or add your own comments. |