We have found that if a PowerCOBOL application makes more than 21
connections to a SQL Server database, no data is returned.
The SQLSTATE returned is '9999A' or '9999B' which is not a standard
SQLSTATE, but seems to be coming from the Fujitsu ODBC driver.
We have been unable to find any way to configure this, although there
probably is, somewhere.
(The non-industrial strength free version of SQL Server accommodates 64,000
simultaneous connections, so the problem is not with the RDB.)
So, applications that use large numbers of ISAM files may encounter this
problem if they are converted to RDB. (For networked systems "small is
beautiful"...)
It has caused me to re-evaluate the whole use of SQL and ODBC. I believe
this is obsolete technology and I want to move on from it.
I have re-visited some early experiments I did with LINQ and Lamdas. This
doesn't require ADO, OLEDB, or ODBC; instead, it connects directly, using
the Database providers in the .NET framework.
And there is no SQL. (LINQ uses virtually the same syntax to manipulate
lists of objects in memory, XML files, or relational databases). When
accessing RDB, the LINQ to SQL engine generates very efficient SQL because
that is what the RDB requires, but it is transparent to your program. There
is no longer ANY SQL in your code and it is pretty much future proof. It
took me a few days to get used to using the LINQ syntax (after 30 years of
SQL) but now, I can see the beauty of it and I wouldn't go back to SQL.
(LINQ was designed mainly by Anders Hejlsberg, the same guy who did visual
Delphi at Borland, and invented C# at Microsoft. Very good credentials.)
If you want to have a 5 minute overview, take a look here:
http://www.hookedonlinq.com/LinqToSQL5MinuteOVerview.ashx
Although LINQ is available to the .NET languages (and Java) it is not
available to COBOL. (If anyone is using one of the .NET COBOL compilers and
it is documented as supporting LINQ, please correct me.)
There are a number of links on that page which are also interesting. ("How
to write a LINQ query" is a good one...)
I intend to have the PRIMA DAL layer generating and using LINQ (as an option
for clients) by the end of this year.
Pete.
--
"I used to write COBOL...now I can do anything."