|
Frequently
Asked Questions About f90SQL
Note: This section
contains only general FAQs. For technical FAQs, please go to the f90SQL
support page.
Table
of Contents
f90SQL
is a Fortran-90 library that allows easy access to Microsoft Windows' ODBC-API
from your Fortran programs. Through the use of the ODBC-API your programs
can access a large number of files created by other applications using a standard
language (SQL). Windows' API functions were designed to be called from C.
They make extensive use of C-specific data types, pointers, etc. Accessing
these functions from your Fortran programs can be a real headache if you are
not an experienced C programmer and if you are not aware of the many small
details involved in cross-language programming. With f90SQL you call
the ODBC-API functions the same way you would call any of your normal Fortran
subroutines, without having to worry about declaring interfaces to the ODBC-API
functions, without having to deal with pointers or special C data types.
No. f90SQL
is neither database manager nor a database engine. f90SQL is an interface
to a standard set of functions (ODBC-API) that allow reading and/or writing
data from/to files created by applications that conform to the ODBC-API interface.
Most database programs (for example, Microsoft Access Jet Engine, SQL servers,
etc.) provide ODBC drivers to access the data stored in their proprietary
file format.
The intended
users of f90SQL are Fortran programmers who need access to data
formats other than ASCII (for example, data in a SQL server, Excel worksheets,
etc.)
The f90SQL
distribution comes with a setup program that can take care of the installation
details for you. In some cases, however, you may want to perform a manual
installation. To do so, follow these instructions:
1) Copy the f90SQL
library (f90SQL.lib) to the library directory of your Fortran compiler (for
example, with Digital Fortran this would be the directory DF\LIB).
2) Copy the f90SQL
dynamic link library (f90SQLxxx.DLL) into your system directory (for example,
WinNT\SYSTEM32 in Windows NT). Each supported compiler has a different DLL
library. For example, the .DLL for Lahey Fortran 95 is f90SQLLF95.DLL, the
one for Digital Visual Fortran is f90SQLDVF.DLL. Make sure you copy the right
.DLL for your compiler(s).
3) Copy the f90SQL
modules (f90SQL.f90, f90SQL.mod, f90SQL.obj, f90SQLCONSTANTS.f90, f90SQLCONSTANTS.mod,
f90SQLCONSTANTS.obj, f90SQLSTRUCTURES.f90 and f90SQLSTRUCTURES.mod, f90SQLSTRUCTURES.obj)
into your Fortran compiler include/module directory (for example, with Digital
Fortran this would be the directory DF\INCLUDE).
4) Copy the f90SQL
help files (in the CD directory OnlineManuals\html) to a directory of your
preference.
To have access
to f90SQL subroutines you need to do two things:
1) Add the f90SQL
modules to your Fortran source. You do this by adding the following statement
at the beginning of your program:
use f90SQLConstants
use f90SQLStructures
use f90SQL
2) Add the f90SQL
library to the list of libraries when linking your program.
For an application
format to be available to f90SQL it must have an ODBC driver. To find
what applications with ODBC drivers are installed in your system, open the
ODBC Administrator (you will find it the Control Panel of your Windows environment)
and check the Drivers tab. If you do not find the ODBC Administrator in your
Control Panel, then you need to install the ODBC Redistribution package. You
can find this package in Microsoft
Universal Data Access Web page, or if you prefer, you can download it
from our Download Zone.
We also have
an annotated a list of drivers for many
applications. This is not a comprehensive list, but it covers the most common
applications in use today. A very comprehensive list of ODBC
drivers, servers and vendors is published by Ken North.
The following
explanation was taken from Microsoft ODBC SDK documentation:
Many misconceptions
about ODBC exist in the computing world. To the end user, it is an icon in
the Windows Control Panel. To the application programmer, it is a library
containing data-access routines. To many others, it is the answer to all database
access problems ever imagined.
First and foremost,
ODBC is a specification for a database API. This API is independent of any
one DBMS or operating system. The ODBC API is based on the CLI specifications
from X/Open and ISO/IEC. ODBC 3.5 fully implements both of these specifications
earlier versions of ODBC were based on preliminary versions of these
specifications but did not fully implement them and adds features commonly
needed by developers of screen-based database applications, such as scrollable
cursors.
The functions
in the ODBC API are implemented by developers of DBMS-specific drivers. Applications
call the functions in these drivers to access data in a DBMS-independent manner.
A Driver Manager manages communication between applications and drivers.
Although Microsoft
provides a Driver Manager for computers running Windows NT Server, Windows
NT Workstation, and Windows 95; has written several ODBC drivers; and calls
ODBC functions from some of its applications; anybody can write ODBC applications
and drivers. In fact, the vast majority of ODBC applications and drivers available
for computers running Windows NT Server, Windows NT Workstation, and Windows
95 are produced by companies other than Microsoft. Furthermore, ODBC drivers
and applications exist on the Macintosh and a variety of UNIX platforms.
Applications
that use ODBC are responsible for any cross-database functionality. For example,
ODBC is not a heterogeneous join engine, nor is it a distributed transaction
processor. However, because it is DBMS-independent, it can be used to build
such cross-database tools.
API is the acronym
for Application Programming Interface. An API is a set of functions that allow
other programs access to the functionality of an application. Microsoft Windows
provides a rich set of API that allow your program access to the operating
system services, for example.
f90SQL-lite
allows your Fortran programs access to the almost all the core functionality
of the ODBC (3.5) API. f90SQL-pro implements an interface that give
you access to the full functionality of the ODBC API, this includes all
Core, Level 1 and Level 2 functions. So f90SQL-lite is a subset of
f90SQL-pro. For a more detailed list of the features supported by each
version, check Features of f90SQL.
f90SQL-lite
is free for academic and individual use. In simple words this means that you
can use f90SQL-lite without having to pay a license fee if you are
a student or a professor, and you are using f90SQL as a learning/teaching
tool, or as part of an unsponsored research project in an academic institution.
You can also use f90SQL-lite for personal non-profitable projects.
f90SQL-lite is also free for certain Non-Profit organizations.
Private enterprises
and Government Agencies can use f90SQL-lite for evaluation purposes
for 30 days. After this period they must discontinue its use or buy a license
for f90SQL-pro.
Please note that
the previous explanations are not intended to be a complete description of
the license terms for f90SQL, nor are they in any way a binding license
agreement. For a complete description of the license terms for the use of
f90SQL-lite and f90SQL-pro check f90SQL-lite
License and f90SQL-pro License.
Currently the
following compiler on Intel platforms are supported:
- Absoft Pro-Fortran
(ver.5.0 and 6.0)
- Digital Visual
Fortran (ver. 5.0 and 6.0)
- Lahey Fortran
90 (ver. 4.5) and LF95 Express.
- Lahey/Fujitsu
Fortran 95 (ver. 5.0), and
- Salford Fortran
95 (ver. 1.32).
We are also working
to support Digital Visual Fortran on Windows NT-Alpha, and Absoft Pro-Fortran
on Linux.
Future support
for other compilers will be dependent upon demand, so if you want your Fortran
compiler to be supported, you should explicitly indicate so in the f90SQL
Discussion group or by sending a private e-mail to Canaima
Software
No. Embedded
SQL's are proprietary solutions that make use of a pre-processor to convert
connection and SQL instructions at compile time. f90SQL is a library
of Fortran subroutines, so your Fortran programs do not need any special preprocessing.
Also, because f90SQL uses the standard ODBC API you can use the same
compiled program to access different data sources from different vendors,
as long as they have an ODBC driver available.
Because the ODBC-API
is intended to be called from C. Fortran handles pointers and character strings
in a different way. Also, the protocol to pass parameters to functions and
subroutines is different between C and Fortran compilers. Most Fortran compilers
allow you to make API calls through a more or less complicated process of
declaration of interfaces, etc. But having to this will move your attention
from the objective of your program to the details of the interface to the
API functions. f90SQL offers an interface that is familiar to Fortran
programmers so you do not have to loose your time debugging your calls to
the API and instead can concentrate on the algorithms to manipulate your data.
f90SQL also takes care of declaring all constants, variables and structures
you need to effectively and quickly develop programs that access the ODBC-API
functionality. In addition, f90SQL adds functionality of its own, facilitating
the use of otherwise complicated ODBC operations.
The user
manual that comes with your f90SQL distribution is a good source
of information about ODBC and the ODBC-API. You can also check the help file
that comes with the ODBC Administrator (in your Windows Control Panel). The
definitive source of information for the ODBC API is Microsoft's ODBC SDK.
The SDK can be found in the MSDN CDs or in the Microsoft
Web Server.
If you have Microsoft's
Visual C++, you will also find a good reference (although outdated) in the
documentation that comes with the compiler.
Of course, you
can always post a question to the f90SQL
Discussion group.
f90SQL
is available for Windows 95, Windows 98 and Windows NT on Intel platforms.
We are also working to support Windows NT on Alpha platforms, and Linux on
Intel platforms.
No. f90SQL
makes use of many features found in Fortran 90 that are not part of the standard
for Fortran 77.
ActiveX
Data Objects (ADO) enables you to write an application to access and manipulate
data in a database server through an OLE DB provider. ADOs primary benefits
are high speed, ease of use, low memory overhead, and a small disk footprint.
ADO supports
key features for building client/server and web-based applications, including
the following:
- Independently-created
objects. Unlike Data Access Objects (DAO) or Remote Data Objects (RDO),
you no longer have to navigate through a hierarchy to create objects because
most ADO objects can be independently created. This allows you to create
and track only the objects you need, and also results in fewer ADO objects
and thus a smaller working set.
- Batch updating
helps improve performance by locally caching changes to data, then writing
them all to the server in a single update.
- Support for
stored procedures with in/out parameters and return values.
- Different
cursor types, including the potential for support of back-endspecific
cursors.
- Support for
limits on number of returned rows and other query goals for performance
tuning.
- Support for
multiple recordsets returned from stored procedures or batch statements.
- Free-threaded
objects for efficient web server applications.
You now can take
advantage of these features from your Fortran program using f90ADO,
included in your f90SQL-pro distribution.
f90ADO
is a Fortran 90 interface to ADO. It was designed to mimic the way you would
work with ADO if you were using it from an Object Oriented Programming environment
(as Visual Basic or C++), but within the limitations of Fortran. The result
is a library that is intuitive and easy to use. If you have programmed ADO,
Remote Data Objects (RDO) or Data Access Objects (DAO) from Visual Basic or
C++ you will find an easy transition to using f90ADO in your
Fortran programs. If you do not have experience using any of these data-access
models, you will still be accessing databases in no time from your Fortran
programs with f90ADO.
f90ADO
is still in alpha release and being tested by a limited number of developers.
We expect a commercial release before the end of the last quarter of 1999.
No. f90SQL-lite
doesn't not include f90ADO. During a limited time, we offered an free
license for f90ADO to customers that bought f90SQL-pro. This
offer is not longer available. However, customers that buy the commercial
release of f90ADO will get, as part of their purchase, a license to
f90SQL-pro.
You can get general
information about ADO in the Microsoft
Web Server. The documentation included with your copy of f90ADO
is also a good source of information. You can also post your questions to
the f90SQL discussion group.
They are two
different products that take different approaches to data access. f90SQL
is a procedural interface to the ODBC API. It works at a lower level and is
slightly more tedious to use. The advantages of f90SQL are that database
access is extremely fast, you are offer incredible flexibility and the data-access
model is very similar to the normal procedural approach you take in Fortran
programming.
f90ADO
is based on the Object Oriented Programming (OOP) paradigm. Instead of a procedural
interface, you are faced with objects, their properties and methods. This
is a departure of the programming paradigm Fortran programmers are used to.
The advantages of f90ADO are that is easy to use, efficient and very
standard in the way you will access different data sources. It also allows
you to take advantage of your previous knowledge from using DAO, RDO or ADO
in other languages. The main disadvantage of f90ADO is that it tends
to be slower than direct access through the ODBC-API. Also, because Fortran
is not an OOP language, the implementation of f90ADO interface to ADO
is not exactly object oriented, but instead a mimic of it.
OK, we have gotten
this question asked so many times, that we have decided to create a simple
page explaining where our name comes from.
Click here to open this page.
Back
to Top
Yes, they are.
You should notice, however, that f90SQL and f90ADO use several
Windows 95/98 and NT services, as well as the ODBC drivers provided by your
database vendor. To ensure 100% Y2K compliance, you should make sure that
you have installed the required OS and database service packs. In particular,
you should install Microsoft Data Access Components 2.0 Service Pack 2 (SP2),
which fixes several Y2K issues in the Windows' ODBC Driver Manager. You can
download MDAC-SP2 from the Microsoft
Web Server or from our Download
Zone.
The following
links contain Y2K compliance statements for f90SQL-pro and f90SQL-lite.
f90SQL
Y2K-Compliance Statement (html)
f90SQL Y2K-Compliance Statement (Postscript)
Back
to Top
|