This article provides step-by-step instructions for setting up AcuXDBC Server on a UNIX operating system.
Problem:
This article clarifies the documentation with specific instructions for setup, testing, and implementation of AcuXDBC Server on UNIX systems with Windows clients.
Resolution:
- AcuXDBC/AcuXDBCS Installation on UNIX
The installation should look like this — ensure that all of these files are in the /bin directory (dates and permissions vary):
$ ls -la
total 35664
drwxr-xr-x 2 techsup staff 4096 May 14 06:20 .
drwxr-xr-x 7 techsup staff 256 May 13 11:15 ..
-rwxr-xr-x 1 techsup staff 286332 May 13 10:32 activator
-rwxr-xr-x 1 techsup staff 1078462 May 13 10:32 acurcl
-rwxr-xr-x 1 techsup staff 843430 May 13 10:32 acuserve
-rwxr-xr-x 1 techsup staff 416882 May 13 10:32 acushare
-rwxr-xr-x 1 techsup staff 667958 May 13 10:32 acusort
-rwxr-xr-x 1 techsup staff 671442 May 13 10:32 acusql
-rwxr-xr-x 1 techsup staff 258184 May 13 10:32 acuxdbc.so
-rwxr-xr-x 1 techsup staff 52432 May 13 10:32 acuxdbc03.so
-rwxr-xr-x 1 techsup staff 81236 May 13 10:32 acuxdbc04
-rwxr-xr-x 1 techsup staff 400600 May 13 10:32 acuxdbc04.so
-rwxr-xr-x 1 techsup staff 3222 May 13 10:32 acuxdbcs.sh
-rwxr-xr-x 1 techsup staff 1581 May 13 10:32 acuxui.sh
-rwxr-xr-x 1 techsup staff 2348 May 13 10:32 addfile.sh
-rwxr-xr-x 1 techsup staff 2380 May 13 10:32 ainit.sh
-rwxr-xr-x 1 techsup staff 2491 May 13 10:32 asql.sh
-rwxr-xr-x 1 techsup staff 1054574 May 13 10:32 boomerang
-rwxr-xr-x 1 techsup staff 970148 May 13 10:32 cblutil
-rwxr-xr-x 1 techsup staff 1511216 May 13 10:32 ccbl
-rwxr-xr-x 1 techsup staff 269184 May 13 10:32 classutil
-rwxr-xr-x 1 techsup staff 1535 May 13 10:32 cview.sql
-rwxr-xr-x 1 techsup staff 3831 May 13 10:32 demo.sh
-rwxr-xr-x 1 techsup staff 545360 May 13 10:32 logutil
-rwxr-xr-x 1 techsup staff 2315 May 13 10:32 odbcsql.sh
-rwxr-xr-x 1 techsup staff 3317536 May 13 10:32 runcbl
-rwxr-xr-x 1 techsup staff 3138 May 13 10:32 tver
-rwxr-xr-x 1 techsup staff 553368 May 13 10:32 vio
-rwxr-xr-x 1 techsup staff 68429 May 13 10:32 vortex.jar
-rwxr-xr-x 1 techsup staff 630368 May 13 10:32 vutil
-rwxr-xr-x 1 techsup staff 29461 May 13 10:32 xdbckill
-rwxr-xr-x 1 techsup staff 29665 May 13 10:32 xdbcping
-rwxr-xr-x 1 techsup staff 112019 May 13 10:32 xdbcquery
-rwxr-xr-x 1 techsup staff 45522 May 13 10:32 xdbcsrvr
-rwxr-xr-x 1 techsup staff 1522334 May 13 10:32 xdbcutil
-rwxr-xr-x 1 techsup staff 618280 May 13 10:32 xml2fd
-rwxr-xr-x 1 techsup staff 218742 May 13 10:32 xmlwf
-rw-r--r-- 1 techsup staff 436 May 13 10:33 xvision.alc
-rwxr-xr-x 1 techsup staff 1643646 May 13 10:32 xvision.so - AcuXDBC/AcuXDBCS Environment
Set the following environment variables (before running demo.sh
GENESIS_HOME=/opt/acucorp/810
PATH= /opt/acucorp/810/bin
LD_LIBRARY_PATH= /opt/acucorp/810/bin
Here is a typical way to set the environment variables, depending on which flavor of UNIX/Linux you are using:
GENESIS_HOME=/opt/acucorp/810;export GENESIS_HOME
LD_LIBRARY_PATH=/opt/acucorp/810/bin;/opt/acucorp/810/lib;export LD_LIBRARY_PATH
PATH=$PATH: /opt/acucorp/810/bin;export PATHAcuXDBC Configuration
Make sure also that the acuxdbc.cfg file is in the GENESIS_HOME directory. If not, run genxconf.sh shell script to build one, based on the environment settings outlined above. Here is what the configuration file will typically look like:
$ cat acuxdbc.cfg
# This is a sample AcuXDBC configuration file.
# You should edit it to match your needs.
# The following lines are commented out to show you the default values.
# If you want to use a different value, then uncomment the line and change
# the value.
#---------------GENERAL SETUP OPTIONS-----------------------
# The path to your system catalog directory. This is a required variable
#---------------Unix----------------------------------------
# dictsource /opt/acucorp/810/syscat
#---------------Windows-------------------------------------
#dictsource "C:\\Program Files\\Acucorp\\Acucbl810\\acugt\\syscat"
dictsource "/home/AcuGT/810/syscat"
# The path to your data files. You must prepend the line with a semi-colon,
# use either double backslashes ("\\\\") or forward slashes ("/"),
# and separate your paths by semi-colons. This is a required variable
#---------------Unix----------------------------------------
file_prefix ; /opt/acucorp/810/data; /opt/acucorp/810/sample/acuxdbc/data
#---------------Windows-------------------------------------
#file_prefix ";C:/Program Files/Acucorp/Acucbl810/acugt/data;C:/Program #Files/Acucorp/Acucbl800/acugt/sample/AcuXDBC/data"
# Specify your data file extensions; leave blank if no
# extensions exist.
#file_suffix
#-------------------ADVANCED OPTION SETUP-------------------
# Values for File_Case are Default (case ignored),
# Lower (filename converted to lower case), and
# Upper (filename converted to upper case).
#file_case default
# To specify how AcuXDBC will treat non-numeric values in numeric fields,
# set this variable to Error (assignment error returned),
# Truncate (value truncated from first non-numeric value to the end),
# or Zero (value returned will be zero).
invalid_numeric_data error
# Set this value to true if the user should have read-only
# permissions to this database. The default is read and write permissions.
#read_only no
# These two variables provide a representational mapping between COBOL's
# SPACES and LOW-VALUES and the corresponding SQL column values.
# Valid values for are null and empty.
#null_alpha_read null
# Valid values are spaces and low-values.
#null_alpha_write spaces
# Valid values are null and 0 (zero).
#null_numeric_read 0
# Valid values are spaces, low-values, and 0 (zero).
#null_numeric_write 0
# Enter a start date for Julian dates using the YYYYMMDD
# format. The default date is January 1, 1900.
#julian_base_date 19000101
#-------------------VISION OPTION SETUP---------------------
# Set Max_Files from 1 to 256.
#max_files 32
# Set Max_Locks from 1 to 8191.
#max_locks 32
# Set Locks_per_file from 1 to 8191.
#locks_per_file 10
# Set V_Buffers from 0 to 256.
#v_buffers 32
#-----TRANSACTION PROCESSING SETUP OPTIONS------------------
#transaction_processing Off
#logging off
#log_encrypt off
#log_device off
#log_file
#temp_dir .
#log_buffer_size 512
#---------------ACUSERVER SETUP OPTIONS---------------------
#acu_client_password
#acuserver_port 6532
#security_method none
#default_map_file
#---------------------Multi-company options-----------------
# For multi-company handling, you can specify the value of any
# wildcards that you used when creating the table in your
# system catalog by noting the values here.
#filename_wildcards
#---------------LOGGING SETUP OPTIONS-----------------------
#vision_logging_file
#vision_logging_level
#debug_logfile
#debug_loglevel
$ - AcuXDBC System Catalog
The easiest way to set up the system catalog is to use demo.sh shell script. If executed right out of the box, it will use the provided sample data and allow AcuXDBC environment to quickly be set up.
If demo.sh executes and builds the system catalog, it should look something like this (pathing is for an example system only):
$ demo.sh
Building demo with the following settings
Data Directory = /opt/acucorp/810/data
System Catalog = /opt/acucorp/810/syscat
Sample Data XFD = /opt/acucorp/810/sample/acuxdbc/xfd
Creating System Catalog
Creating System Catalog in /home/AcuGT/810/syscat
Started at 2009-05-20 06:24:32
Creating Information Schema Views
VORTEXsql - Simple Interactive SQL.
Version 2.0.2.4 (64-bit) - Production.
Copyright © 1989-2008, Trifox, Inc., California, USA.
All Rights Reserved Worldwide.
Load Sample file descriptions
Started at 2009-05-20 06:24:32
Information: Begin XFD Conversion
Information: Begin XFD file pets
Information: Begin Table PETS
Information: Begin XFD file codes
Information: Begin Table CODES
Information: Begin XFD file clients
Information: Begin Table CLIENTS
Information: Begin XFD file animals
Information: Begin Table ANIMALS
Information: Begin XFD file accounts
Information: Begin Table ACCOUNTS
Information: End Repository Conversion
- AcuXDBC Setup Verification
You can check the setup with the asql.sh utility by running an SQL statement such as:
SQL (/? for help) ==> SELECT * FROM PETS;
which will return all the data from the sample table PETS.
- AcuXDBCS Setup
Once everything is correct on the server, start the daemon with the acuxdbcs.sh shell script.
$./acuxdbcs.sh –start
/opt/acucorp/810/bin/xdbcsrvr -z -p20222First, make sure that the three environment variables are set. (We suggest that you add them to the shell script to ensure that this is the case.)
To confirm that the AcuXDBC Server is up and running, execute ./acuxdbcs.sh -info on the server. Here are typical results from server "tigh" running on the default port (20222):
$ ./acuxdbcs.sh -info
Pinging 'tigh'.
vtxnetd is alive and kicking (1st attempt).
Host process ID : 311546
Requires byte flipping: No
Character set - Client: ASCII
Host : ASCII
$To diagnose problems on the server, kill the AcuXDBC Server daemon, and then restart it to make sure that it has the latest environment settings (it uses cached values), using the acuxdbcs.sh script with the appropriate arguments.
- AcuXDBC Windows Client Setup
Use the Windows installer to install the driver from the CD.
To test the ODBC driver setup:
- On the client with Acuxdbc installed, use the odbcsql.bat batch file.
- Go to a command line and execute:
C;\\odbcsql –d dsn name>
where dsn name> is the AcuXDBC DSN you set up with the ODBC Data Source Administrator. Here is the correct output:
C:\\>odbcsql -d dsn name>
C:\\>"C:\\Acucorp\\810\\AcuGT"\\bin\\xdbcquery /cacuxdbc11:system/manager/axdbcperm
VORTEXsql - Simple Interactive SQL.
Version 2.0.2.4 - Production.
Copyright ??? 1989-2009, Trifox, Inc., California, USA.
All Rights Reserved Worldwide.
SQL (/? for help) ==> - Then you can “select * from pets;” to check your ODBC driver connection from the client to the server.
If there is a failure, check the Windows GENESIS_HOME and PATH environment variable settings in My Computer > Properties > Advanced > Environmental Variables. They should be configured to the same directories as in the UNIX setup.
- Problems
When trying to query the data from Microsoft Excel/Access, the following errors occur:
- "[TOD Connect][Connection failed SQL State 20000 [{TOD}{ODBC Driver} Connect: Errno: 10061]"
The “errno: 10061“ means “connection refused."
To get a better definition of what the problem is, use the odbcsql.bat utility on the client.
Then, on the client, make sure that the server can be pinged.
Also in the MS ODBC Administrator, in Configure on the Logging tab, enter a filename in Logfile Name and select all the check boxes. The Client log will be in the specified directory; the server log will be on the server in the /bin directory. This information is useful in some cases.
- "[{TOD}{ODBC Driver} Connect: Errno: 10060:]"
This means that the connection from the client to the server timed out. Check that any firewall restrictions on the server are open on the port (default is 20222) for both incoming and outgoing communication.
- "[TOD Connect][Connection failed SQL State 20000 [{TOD}{ODBC Driver} Connect: Errno: 10061]"
Incident Number: 2285823
#HowTo



