vms
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
README.vms -- VMS-specific notes on building and running FreeTDS FreeTDS has successfully built and passed all expected tests in the following environments: OpenVMS Alpha 7.2-1, Compaq C 6.4, OpenVMS Sybase 11.0.2, TDS 5.0 OpenVMS Alpha 7.3-1, Compaq C 6.5, MS SQL Server 7.0, TDS 7.0 OpenVMS Alpha 7.1, Compaq C 6.5, MS SQL Server 2000, TDS 8.0 It will probably build and run on most versions of OpenVMS Alpha 7.0 and later with DEC/Compaq C 6.0 or later. Other prerequisites: gunzip vmstar MMS or MMK Build Instructions Decompress and unpack the source archive using gunzip and vmstar (You probably have already or you wouldn't be reading this). If you are untarring on an ODS-5 disk, you should use the /ODS2 or -o option to create universally VMS-friendly filenames; the build will fail to locate some files otherwise. Set default to the top-level source directory and run the configuration script like so: $ @[.vms]configure This creates a descrip.mms in the top-level source directory which you may execute by simply running MMS (if you have the Module Management System that is part of DECset) or MMK (a freeware MMS alternative available from http://www.madgoat.com). By default the build uses version 5.0 of the TDS protocol and does not include ODBC support. You may change these defaults by sypplying the following macros to the make utility: TDSVER This macro expects a value that will be passed directly to the C compiler. Valid values are TDS42, TDS50 (the default), TDS70, and TDS71. Consult the [.doc] directory for more information about the TDS protocol, what servers use which versions, and the history of the versions. Example: $ MMK/MACRO="TDSVER"="TDS71" MSDBLIB Enables Microsoft behavior in the db-lib API where it diverges from Sybase's. See additional documentation in the [.doc] directory. Example: $ MMK/MACRO="MSDBLIB"=1 ODBC This macro instructs the build to include ODBC support. At the moment, the unixODBC driver manager is assumed (see http://www.unixodbc.org), but others may work as well. The following logical names must be defined in order to build with ODBC support: ODBC_LIBDIR directory containing driver manager's libraries ODBC_INCDIR directory containing driver manager's include files LIBODBC the shareable image comprising the driver manager Note: in unixODBC 2.2.4 and later, all of these logicals except ODBC_INCDIR will be set up by running ODBC_SETUP.COM in the library directory. Examples: $ MMS/MACRO="ODBC"=1 $ MMK/MACRO=("ODBC"=1,"TDSVER"="TDS70") Caveats and To-do: It's probably best to define the locations of your configuration files as logical names; otherwise FreeTDS may concoct an unparseable combination of UNIX and VMS filename syntax. For example: $ DEFINE FREETDSCONF DISK$USER:[TDSDIR]freetds.conf There is currently no install target; it's up to you to put the libraries, include files, etc. wherever you want them. A VAX port is within the realm of possibilities. It would need to convert between IEEE floating point data and native format and/or request native F_FLOAT and D_FLOAT from the server (which may only work on Sybase, not MS SQL Server, but that's TBD). As more ODBC functions are implemented, the file [.vms]odbc_driver_axp.opt needs to be updated to point to the real functions instead of the aliases to the stub for unimplemented functions. The build currently compiles with the /NAMES=AS_IS switch when the ODBC macro is enabled; this results in mixed-case symbol names. Mixed-case symbols were necessary to get the code working with unixODBC but may cause problems when calling the FreeTDS libraries from other languages. There are a variety of approaches that could be taken to work around this but for now you'll have to roll your own. Last updated: 6-NOV-2004 Craig A. Berry <[email protected]> $Id: README.vms,v 1.4 2009-09-04 07:12:18 freddy77 Exp $