AcuXDBC Server setup on UNIX

0 Likes

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:


  1. 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
  2. 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 PATH

    AcuXDBC 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

    $
  3. 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 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
  4. 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.

  5. 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 -p20222

    First, 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.

  6. AcuXDBC Windows Client Setup

    Use the Windows installer to install the driver from the CD.

    Using Microsoft ODBC Data Source Administrator, in the System DSN tab (not User DSN):
    1. Add an Acucorp AcuXDBC data source.
    2. Give it a Data Source Name (DSN).
    3. Give it an optional Description.
    4. Check the Network Driver checkbox.

      DO NOT CHANGE the Configuration File at this point.

    5. Use the default Username and Password: "system" and "manager", respectively.
    6. Click OK.
    To test the ODBC driver setup:
    1. On the client with Acuxdbc installed, use the odbcsql.bat batch file.
    2. 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) ==>
    3. 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.

  7. 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.

Incident Number: 2285823

Old KB# 14470

Labels:

HowTo
Comment List
Anonymous
Related Discussions
Recommended