DBD::DBMaker -- DBD module interfacing the DBMAKER database.

   $Id: README,v 0.11 1999/01/29 00:34:39 $
   Copyright (c) 1999 DBMaker team 
   portions Copyright (c) 1997,1998  Jeff Urlwin
   portions Copyright (c) 1997, 1998  Thomas K. Wenrich
   portions Copyright (c) 1994,1995,1996  Tim Bunce

   You may distribute under the terms of either the GNU General Public
   License or the Artistic License, as specified in the Perl README file.

   PLEASE READ THE ENTIRE README FILE CAREFULLY !

*BEFORE* BUILDING, TESTING AND INSTALLING this you will need to:

    Build, test and install Perl 5 (at least 5.004).
    It is very important to TEST it and INSTALL it!

    Build, test and install the DBI module (at least DBI 1.06).
    It is very important to TEST it and INSTALL it!

    Remember to *read* the DBI README file!

    Install the DBMaker RDBMS software.

    Install the DBMaker SQL API - libdmapic.a files somewhere.
	Makefile.PL searches those files
	   1. below the directory pointed to by the DBMAKER_HOME environment
	      variable.
	   On UNIX:
       2. ~dbmaker/3.x (3.0 or 3.5)
	   3. below /usr/local.
       4. to search sql.h and libdmapic.a
	   On MSWin32 platforms:
	      2. on drive C:\DBMAKER to search SQLOPT.H and DMAPI35.LIB

BUILDING:
On UNIX:
	perl Makefile.PL
	make
On MSWin32/Visual C/nmake:
	REM - set DBMAKERDIR environment (see above)
	set DBMAKER_HOME=c:\dbmaker
	perl Makefile.PL
	REM - ensure the Visual C environment is set:
	CALL C:\MSDEV\bin\vcvars32 x86
	REM - build
	nmake


If you have problems see the 'IF YOU HAVE PROBLEMS' section below
and the "OPERATING SYSTEM NOTES" section at the end of this file.

If it builds without error you can then run the tests. For the
main test to work it must be able to connect to a DBMaker database.

Don't worry about most warnings, specifically "end-of-loop code not
reached", "ANSI C forbids braced-groups within expressions", "cast
increases required alignment of target type".

TESTING
	
    The tests will work either with the 'new style' environment
    variables DBI_DSN, DBI_USER, DBI_PASS introduced with DBI 0.86.
    See the DBI documentation for details.

    'new style' DBI_DSN examples:
    	DBI_DSN="dbi:DBMaker:"
	DBI_DSN="DBI:DBMaker:dbsample"

    If there's no database called "DBSAMPLE" installed in 
    ~dbmaker/3.x/samples/database.  You can create your own database by the
    following steps:  

    1. set DBMAKER environment variable to your local path:
       for example:
       export DBMAKER=~/config

	2. cd to the path you want to store your datatbase

    3. create a database: 'dbsample'
	$ dmsqls
	dmSQL> create db dbsample;
	dmSQL> quit;

	4. start your 'dbsample' database
	$ dmserver -u SYSADM dbsample

    Once you can do that then you can test DBD::DBMaker knowing that it
    should work.

	make test
	make test TEST_VERBOSE=1   (if any of the t/* tests fail)

	make install 		   (if the tests look okay)

    TEST NOTES:
	1. Most of the test scripts use a common subroutine (in
	   t/tests.pm) to obtain information about the database 
	   connection. To start the tests _without_ running 'make', you 
	   may either imitate the way a 'make test' calls t/*.t (e.g. 
	   perl t/02base.t) or modify the scripts so that testenv() 
	   is not longer used or within the scripts.
	2. The tests aren't self contained; instead, they rely on the
	   existance of tables created while running t/02base.t.
	   Because these test tables are removed by t/99drop.t,
	   they must be recreated by running t/02base.t before
	   trying one of the later test scripts.

IF YOU HAVE PROBLEMS:

Do not hand edit the generated Makefile unless you are completely sure you
understand the implications! Always try to make changes via the Makefile.PL
command line and/or editing the Makefile.PL.

You should not need to make any changes. If you do *please* let me know so
that I can try to make it automatic in a later release.

Please don't post problems to comp.lang.perl.misc or perl5-porters. This
software is supported via the dbi-users mailing list.  For more information
and to keep informed about progress you can join the a mailing list via
http://www.fugue.com/dbi (if you are unable to use the web you can subscribe
by sending a message to dbi-request@fugue.com, it may take a few days to be
processed).

Please post details of any problems (or changes you needed to make) to
dbi-users@fugue.com and CC them to me at dbmaker@lion.syscom.com.tw.

** IT IS IMPORTANT TO INCLUDE THE FOLLOWING INFORMATION:

1. A complete log of a all steps of the build, e.g.:

	perl Makefile.PL           (do a make realclean first)
	make
	make test
	make test TEST_VERBOSE=1   (if any tests fail)

2. Full details of which software you are using:

	* Version of the operating system 
	   (on Linux: Kernel and library versions)
	* DBMaker versions (of server and development system)
	* Perl version (the output of perl -V)

It is important to check that you are using the latest version before
posting. If you're not then I'm *very* likely to simply say "upgrade to
the latest". You would do yourself a favour by upgrading beforehand.

Please remember that I'm _very_ busy. Try to help yourself first,
then try to help me help you by following these guidelines carefully.

Regards,
dbmaker@lion.syscom.com.tw

===============================================================================
OPERATING SYSTEM NOTES:

It's quite possible that Makefile.PL misses something for the
special system/perl/dbmaker version combination you use. The
most common problems are:

Linker problems:
 (1) The linker barfs at you, saying something about 'unresolved
     symbols'. 
       Try to compile and link the examples coming with the
       client library from DBMaker.
       When you can't manage to build DBMaker's examples, DBMaker tech 
       support should be able to help you.
       When DBMaker's examples are working fine, you may try to
       modify Makefile.pl, adding the libraries/switches/defines
       you found while building the examples.

 (2) Perl's Dynloader tells you it "Can't load .../DBMaker.so", 
     followed [possible] by messages about unresolved symbols 
     called 'SQLAllocEnv' and other 'SQLxxxx' symbols.
       This is also a linker problem. You may try to build a
       static perl binary; if this also fails, try (1).

In general, you may try to use another version of the DBMaker
client library.

DGUX:

IRIX:

FreeBSD:

Linux:

MITUX:

Solaris:

SCO


DBMaker NOTES:


===============================================================================
Examples and other info:

All the tests in the t/ subdirectory ARE examples of DBI usage.

DBMaker Home Page:
    http://www.dbmaker.com 
    or
    http://www.dbmaker.com.tw

DBI Home Page: http://www.hermetica.com/technologia/DBI

$ perldoc DBI
$ perldoc DBD::DBMaker

Master archive site for Perl DB information:
    ftp://ftp.demon.co.uk/pub/perl/db/

Searchable index of the dbi-users mailing list:
	http://www.coe.missouri.edu/~faq/lists/dbiusers/

End.
