Introduction
In the beginning was Clarion
Professional Developer, which ran on DOS, and introduced the idea
of data-access structures (FILEs) and commands built into the fundamentals
of the language. The database in question was simply known as DAT, and was
an on-disk shared-file-system (a technique commonly known as ISAM). This
was followed by Clarion Database Developer which extended the idea to
provide a common set of language commands, but which via a Database
Driver, could access different databases (like Btrieve or
Clipper) in addition to the DAT system (now known simply as the Clarion
driver.)
Clarion for Windows ran with this approach
and introduced many more drivers, including a new ISAM driver (Topspeed)
and a number of drivers for SQL databases and ODBC. It also introduced a
new program structure, the VIEW which would allow data access across
multiple tables at the same time. In later versions a property syntax
would emerge to allow for more interactivity with the driver itself, and
allow for more generic code.
The addition of SQL drivers to the mix presented a challenge to the
language. On the one hand the supreme goal was standard driver behavior,
regardless of the back end. While some concessions have been made to SQL
drivers over the years, the primary functionality is dictated by the
abilities of the ISAM drivers. For anything more than basic SQL commands a
{prop:Sql} interface was used to pass raw SQL
directly to the back end.
The CapeSoft Driver Kit enables a new era of Clarion File Drivers. They
represent the next level of data access in Clarion, ushering in
unprecedented functionality, performance, reliability and compatibility.
Most of all they update one of the key pillars of Clarion infrastructure,
ensuring that Clarion programs will continue to exist, and flourish for
many years to come.
Please note that the new drivers are new, and
should be considered as beta software at this point.
Requirements
The object based drivers require
StringTheory (Build 3.74 or later).
Benefits
The new drivers are expensive. But the value to
programs is substantial.
- No SQL Cursors
- No program hanging on SQL disconnections
- Improved program performance
- Improved program / database security
Features
The following areas have been key focus points during
the development of the drivers;
- Compatibility. These are True Clarion File Drivers and are drop-in
compatible with existing programs. (Well, almost, some things have
changed, but they're all easy to manage.)
- Reliability. Data access, and data integrity is a key component in
any program. The system has been designed with reliability as a
priority.
- Performance. More than just client-side performance, all aspects of
performance, including server-side resources, memory consumption, and
network speeds have been considered.
- Functionality. It's hard to convey how much new functionality has
been added to the driver interface. Many commands have been updated,
and almost forty new commands have been added. This is data access
like you've never seen it before.
- Security. It's hard to overstate the need for data access, and data
storage, to be secure. However this is seldom front of mind with
normal developers. These drivers have been developed with security in
mind, and make it easier to write programs that are more secure.
Webinar
Watch the release webinar on
YouTube.
Entry Level
The Entry Level Kit provides an introduction to the
new driver functionality.It ships with three completely new drivers;
DOS 2 |
The DOS2 driver offers the same functionality as the traditional
DOS driver, however it supports files larger then 4 gigabytes in
size. |
SQLite 2 |
An object based driver for the SQLite database engine, this
driver provides a good way to learn the new features offered by
the driver, and use them in cases where the SQLite database is a
suitable storage mechanism. It's optimal for programs where the
data is stored on a local hard drive. Multiple programs can access
the database at the same time, however it's best used when all
programs run on the same machine, and not across a LAN.
|
In Memory 2 |
An In-Memory driver, based on the SQLite2 driver. In other words
all the data is stored in memory (inside the process) and can be
accessed using SQL commands. Data is not permanent, it is erased
when the program ends. (Data can be loaded and saved from other
sources as necessary.)
|
Future drivers planned to be included in this level are BASIC2 and ASCII2
- however these drivers are not yet scheduled, and are not expected soon.
SQL Level
The SQL Level includes all the other SQL drivers as
they are created and released. This level is not available yet.
Planned drivers include;
- Microsoft SQL Server
- PostgreSQL
- Firebird
- MySQL / MariaDB
- ODBC
Other drivers (like Oracle) may also be added, depending on demand. If you
have a favorite SQL database that's not on this list, then let us know so
we can gauge demand and possibly add it to the list.
While most of this level is not yet available for use, it can be
pre-ordered. Pre-orders will be charged as normal. The current SQL Level
install contains the DOS2, SQLite2 and InMemory 2 drivers for immediate
use.
If you have a specific database that you prefer (from the list above, or
other) put the name of the database into the Comments field. This will
help establish the priority of development.
ISAM Level
While SQL databases are likely the best option for
most programs, there is still a large number of Clarion developers making
use of an ISAM file system like Clarion DAT or TopSpeed. While both are
popular, both have strengths and weaknesses.
Currently in the planning stages, the need for a modern ISAM driver -
capable of handling files larger then 2GB, and designed with reliability
of unreliable networks in mind - exists. While this driver is not imminent
the goal is to add one to the list at some point when time allows.
The level is not available yet. It is not expected before early 2026, and
will not include all the features of the SQL drivers. (It will include the
features available with the current TopSpeed driver, along with some
additional features.)
Conversions
A key item to consider when choosing a new driver, or
database, is the difficulty of migrating from the existing environment to
the new one.
Traditional Drivers to Object Based Drivers
This conversion is the easiest to do. Going from the
traditional driver to the object based driver for the same database
should be very little effort. The new drivers are designed to be highly
backward compatible. There are some changes, but they should be simple
to mitigate, even for very large systems. Most programs will require no
changes at all.
Changing File Structures Within a Database
Traditionally the role of File Manager 3, there will
no doubt be a File Manager 4 designed to make use of the new driver
features. In addition to that the drivers themselves contain
functionality which makes simple file structure changes easier. Consult
the documentation for each driver for the specifics that apply to that
database engine.
Converting an ISAM based program to use a SQL database
Traditional SQL drivers do not support the wide
variety of features that the TopSpeed driver offers. This means that
converting a program to use the a SQL database is a fairly substantial
undertaking. The new drivers however make this task much easier. The
traditional stumbling blocks (Arrays, Memos, Exclude-Null keys) are all
supported directly by the new drivers. Thus conversion becomes easier as
there are few, if any changes to the database required.
After converting the program to use a SQL database, it's then possible
to work on optimizing the program to best take advantage of SQL
features. While most of the program will already be optimized (Browses,
Forms, Reports etc) there will be tasks which can be performed on the
database itself, which reduces both the amount of client-side code
required, and improves performance.
Moving Data from One Database Engine to Another
Again, very much in the realm of File Manager 4.
Coupled with the features in the new drivers, moving data from ISAM to
SQL will be faster and easier.
Compatible With
Clarion 8 / Clarion 9.0 |
Not yet |
Clarion 9.1 |
Yes |
Clarion 10 |
Yes |
Clarion11 / 11.1 |
Yes |
Clarion Templates |
Yes |
ABC Templates |
Yes |
NetTalk Templates |
Yes |
AnyScreen |
Yes |
Hand-Coded Projects |
Yes |
Local Mode |
Yes |
DLL Mode |
Yes |
Multi DLL |
Yes |
Documentation & Support
Documentation for the product is available
here.
Go
here for further support.
Cost
Please note that the new
drivers are new, and should be considered as beta software at this
point.
The source code for the kit is available on
GitHub and is free under the MIT License. This
includes source code to the DOS2, SQLite2 and InMemory2 drivers.
CapeSoft has three offerings which build on the kit, adding additional
(commercial) options;
Entry Level
Order will be processed from Tuesday 29 April
2025.
SQL Level
While this level is not yet available for use, it can be pre-ordered.
Pre-orders will be charged immediately. The install will contain the same
files as the Entry Level, until the new SQL drivers are available.
If you have a specific database that you prefer (from the list above, or
other) put the name of the database into the Comments field. This will
help establish the priority of development.
Order will be processed from Tuesday 29 April
2025.
ISAM Level
New License |
$ ???
|
To Be Announced
|
For other payment options please contact us
here
Refund Policy
CapeSoft believes that if you aren't satisfied with
our products, we would like them back - and we will refund you the money.
This allows you to purchase our products with confidence. You can read our
full refund policy
here.