Tags:
tag this topic
create new tag
view all tags
---+ Debugging APPX/ODBC The 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 [[http://www.appx.com/desktop-products][Desktop Downloads page]]. 2) Stack size too small. All APPX/ODBC users should use ' [[http://www.appx.com/ftp/appx/support/utilities/appxodbc/StackFix.exe][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<span style="font-family: Courier New; font-size: x-small;"> asql.exe </span>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: <span style="font-family: Courier New; font-size: x-small;"> </span> <WINDISK> is the drive where Windows is installed (usually c:) <br /><WINSYSDIR> is the WINDOWS\SYSTEM or WINNT\SYSTEM directory <br /><INSTALLDIR> is the place where the user wants to install APPX/ODBC 1) The setup program should display the following screens: <span style="font-family: Courier New; font-size: x-small;"> </span> Welcome <br />Readme - should display<INSTALLDIR>\readme.txt file <br />Choose Installation Location - should default to<WINDISK>\AppxODBC <br />Select Program Folder - should default to !AppxODBC <br />Start Copying Files <br />Progress Indicator <br />Setup Complete <p dir="ltr">2) The setup program will install the !AppxODBC driver, MFC, and ODBC</p> <blockquote style="margin-right: 0px;" dir="ltr"> <WINSYSDIR>\<br />appxsetp.dll - the !AppxODBC connection dialog<br />appxodbc.dll - the !AppxODBC driver<br /><br />MFC42.DLL - MS Foundation Classes 4.2<br />MSVCRT.DLL - MS C Runtime library<br /><br />MSJT3032.DLL - Jet 3.0 engine<br />ODBCTL32.DLL - ODBC/SQL escape parser<br />VBAJET32.DLL - VBA Expression service for Jet<br />MSJTER32.DLL - Jet 3.0 error services<br />MSJINT32.DLL - Jet 3.0 internationalization<br />ODBCJI32.DLL - Localized strings for Desktop drivers <br />ODBCJT32.DLL - Desktop database ODBC drivers<br />ODBCAD32.EXE - ODBC Administrator (in Control Panel)<br />12520437.CPX - Code page<br />12520850.CPX - Code page<br />MSCPXL32.DLL - Code page translator<br />MSVCRT20.DLL - MS C Runtime library, version 2.0<br />ODBC16GT.DLL - ODBC 16-bit generic thunk dll<br />ODBC32GT.DLL - ODBC 32-bit generic thunk dll<br />DS16GT.DLL - Driver Setup 16-bit generic thunk dll<br />DS32GT.DLL - Driver Setup 32-bit generic thunk dll<br />ODBCCP32.CPL - 32-bit ODBC control panel component<br />ODBCCP32.DLL - 32-bit ODBC installer/administrator<br />ODBCINT.DLL - ODBC error messages and dialog boxes<br />ODBCCR32.DLL - ODBC Cursor Library <br />ODBC32.DLL - 32-bit Driver Manager<br />VEN2232.OLB - VBA English messages<br />VBAR2232.DLL - VBA Expression service </blockquote> <p dir="ltr">3) The setup program will install the following files in <INSTALLDIR></p> <blockquote style="margin-right: 0px;" dir="ltr"> mdsql.exe - command line SQL interface (currently non-functional)<br />mdcreate.exe - utility to create a Dharma SQL Database<br />asql.exe - APPX Schema importer <br />readme.txt - Release Notes (also displayed by setup program)<br />lib\dherrors - English spellings for SQL Server error messages </blockquote> <p dir="ltr">4) The setup program should create an ODBC data source, you can confirm this<br /> by running the ODBC Administrator (usually "32bit ODBC") from the Control<br /> Panel:</p> <p style="margin-right: 0px;" dir="ltr">1) The "Drivers" panel should list a driver named "AppxODBC" and the<br /> filename for the driver should be "appxodbc.dll"<br /><br /> 2) The "System DSN" panel should list a System Data Source named<br /> "appxodbc" with a driver of "AppxODBC". Selecting the appxodbc<br /> datasource and clicking "Configure" should display a dialog titled<br /> "Dharma ODBC Setup", with the following entries:</p> <blockquote style="margin-right: 0px;" dir="ltr"> <blockquote style="margin-right: 0px;" dir="ltr"> <p style="margin-right: 0px;" dir="ltr">Data Source Name "appxodbc" <br />Description "Appx ODBC Data Source" <br />Host ""<br />Database "appx"<br />Data Dir ""<br />User ID "dharma"<br />Password "none"</p> </blockquote> </blockquote> <p style="margin-right: 0px;" dir="ltr">5) The following registry entries will be made:</p> <blockquote style="margin-right: 0px;" dir="ltr"> <p style="margin-right: 0px;" dir="ltr">HKEY_LOCAL_MACHINE\Software\ODBC\odbc.ini\appxodbc<br /> !DataDir ""<br /> Database "appx"<br /> Description "Appx ODBC Data Source"<br /> Driver "<WINSYSDIR>\appxodbc.dll"<br /> Host ""<br /> Password "none"<br /> User ID "dharma"<br /><br />HKEY_LOCAL_MACHINE\Software\ODBC\odbc.ini\ODBC Data Sources<br /> appxodbc "AppxODBC"<br /><br />HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\AppxODBC<br /> Driver "<WINSYSDIR>\appxodbc.dll"<br /> Setup "<WINSYSDIR>\appxsetp.dll"</p> </blockquote> <p style="margin-right: 0px;" dir="ltr">6) The readme.txt file tells the user to run the following commands:</p> <blockquote style="margin-right: 0px;" dir="ltr"> <p style="margin-right: 0px;" dir="ltr">C:\> cd \appxodbc<br />C:\AppxODBC> mdcreate Appx<br /><br /> This should create a subdirectory called "appx.dbs" - this directory <br /> contains the actual Dharma SQL database. <br /><br /> This step should also create a file in the Windows (or WINNT) directory<br /> called "dhstodbc.ini". This file should contain:<br /><br /> [Environment]<br /> TPEROOT=<INSTALLDIR><br /> TPESQLDBG=N</p> </blockquote> <span style="font-family: Courier New; font-size: x-small;"> </span> 7) readme.txt also explains how to import APPX file descriptions into the SQL database. The <INSTALLDIR>\asql.exe program does the following: <span style="font-family: Times New Roman; font-size: x-small;"> </span> 1) Create a log file titled "c:\appxodbc.log" <br />2) Connects to the !AppxODBC data source using "DSN=appxodbc; UID=dharma; PWD=none;" <br />3) Finds a non-standard function (bld_table_script) in the !AppxODBC driver <br />4) Executes a "CREATE TABLE" command for the 0SA SYSDIR file <br />5) Reads each record from the 0SA_SYSDIR table <br />6) Displays the list of SYSDIR entries to the user <br />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?<br />#4503 - !AppxODBC throughput rates<br />#4533 - How2 edit !AppxODBC asql table<br />#4547 - !AppxODBC: All Rows "#Deleted"<br />#4760 - !AppxODBC Windows SQL utility<br />#4796 - !AppxODBC: !CTL3D32.DLL version<br />#4826 - !AppxODBC & !CrystalRp: Connect<br />#4916 - APPXODBC MS-Access access den<br />#4950 - MSQRY32 caused a stack fault<br />#4992 - MS-Access: cells all "#Name?"<br />#5032 - APPXODBC and Crystal Rep 5.0<br />#5084 - mdcreate: Can't open DB-20054 <br />#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: <span style="font-family: Courier New; font-size: x-small;">APPX_NET_LOG=C:\net.log <br />APPX_NET_LOG_MASK=0xFFFFFFFF </span> On the Server side, the lower level protocol is monitored via the environment variables APPX_NETIO_SERVER and APPX_NET_LOG_MASK. Ex: <span style="font-family: Courier New; font-size: x-small;">APPX_NETIO_SERVER=/tmp/netio.server.log <br />APPX_NET_LOG_MASK=0xFFFFFFFF </span> 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: <span style="font-family: Courier New; font-size: x-small;">APPX_NETIO_LOG=/tmp/netio.log <br />APPX_NETIO_CODE=0xFFFFFFFF </span> When running APPX/ODBC to remote APPX data, you also have APPX/ODBC logging on the client side: <span style="font-family: Courier New; font-size: x-small;">APPX_ODBC_LOG=C:\appxodbc.log <br />APPX_ODBC_CODE=0xFFFFFFFF </span> See [[SettingEnvironmentVariables][Setting Environment Variables]]<span style="font-size: x-small;"> </span>for discussion of ways environment variables can be set. ---++ Comments: _Read what other users have said about this page or add your own comments._ --- <br />%COMMENT%
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r1
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r1 - 2012-03-18
-
ChrisBrower
Home
Site map
Main web
MedicaidBilling web
Sandbox web
TWiki web
Main Web
Users
Groups
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
P
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
E
dit
A
ttach
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback