Skip to main content

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

What amount of data? Can you describe what you expect to do in technology-neutral terms? Presumably you already have an application running on AIX so this might be some add-on functionality?

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Yes, this is a very old system which has been in place for decades. We're looking at the possible of the it being able to access the intranet's SQL Server database directly, and then that may provide lots of opportunities for nice add on things for the future. It's very much a 'what are the possibilities' thing right now. Initially just looking to do simple ISAM extracts for the intranet, and vice versa. I'll just then be doing some proof of concept stuff, and taking it from there. We're not looking to replace the old ISAM file system. That will all just chugg along as it always has. Thanks.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

The tool to use depends in which way you want to communicate.

If you want to access SQL Server on Windows from your RM/COBOL running under AIX, you have at least two options: a) use InstantSQL, a product included with the RM/COBOL Development System (at least in current versions) that let you use embeded SQL to communicate via ODBC with any database with an ODBC Driver, like MS SQL Server. b) use a middleware to translate the COBOL syntax into SQL like Cobol Access , that in the case of MS SQL Server also uses ODBC to connect to the database. The benefit of CA is that you do not need to change the cobol code, because CA translates automatically the Cobol code into SQL at runtime.

Then, if you want to access RM/Cobol data from SQL Server or other development languages , you can use Relativity that gives ODBC & JDBC access to your COBOL data files and you can simply attach your "Cobol tables" into SQL Server and access them from SQL Server Management Studio or any language that supports SQL.

Juan Urraburu

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

[quote user=""Juan"]The benefit of CA is that you do not need to change the cobol code, because CA translates automatically the Cobol code into SQL at runtime.[/quote]

There can be a significant performance penalty on some very common operations when using this technology.  Most problematic is that transaction update runs - where one is reading a transaction file and updating a master file - that were quite typical in business software that is 'decades' old will be wildly slower using CA .  Relational databases don't do this very well; it is not the fault of CA .

Juan beat me to the suggestion of Relativity, which is a good solution, quick to implement, but not free.  Relativity is middleware that provides access to the data.  If 'ISAM extracts' are meeting your needs, then Relativity is the best approach.

If you need access to the business rules embedded in your COBOL code, then web services using Xcentrisity Business Information Server (BIS) would be a good solution.  BIS uses RM/COBOL as the programming language for web services, in much the same way that WebSphere Application Server uses Java.  Of course, BIS is not free.  But if you find yourself reimplementing business rules that already exist in the COBOL code, the cost of BIS is quickly exceeded by the cost of redeveloping the business rules not to mention the risk of reimplementing business rules created over decades.

Also, Juan has mentioned InstantSQL for programming embedded SQL in the RM/COBOL application - that is, making the application running on AIX a client of SQL Server.  The main difficulty that exists is the chain of middleware needed to get from AIX to SQL Server on Windows.  There is, I think, a commercial solution for this (probably available from DataDirect).  However, an open source, free solution also exists if you wish to do the work to implement it.  The open source solution involves InstantSQL (already mentioned, and it is already available in your RM/COBOL development system), unixODBC and FreeTDS.  If you visit the FreeTDS web site, you can find some guidance on creating the ODBC datasource on AIX (Unix).  Do this part first, using the testing tools that come with unixODBC.  (Note that your AIX distribution may already have unixODBC and FreeTDS available.)  Once the unixODBC and FreeTDS middleware is in place, then code up a small test program using RM/COBOL and InstantSQL to get familiar with its setup.

The problem with this entire thread is that it is focused on a particular technology set in minute detail, while you seem to still be in the 'what can we do' stage.  A far better approach, which would elicit better advice from me, at least, would be to set forth business problems that you need to solve.  (For example, "We have business processes running on Windows, and they are mainly using SQL Server.  However, some vital data is in COBOL data files of our business critical application running on AIX. We are currently using CSV extracts, but we need to be able to get up-to-the-minute data."  Or, "We have developed a browser interface for our customers, but they need to see dynamically created aging reports.  That function exists only in our COBOL application running on AIX.")  Just a suggestion...

Have fun in the proof of concept phase - always the most enjoyable part of a developer's job! [:)]


Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Thanks all. Just to clarify....
- AIX/RMCobol --> SQL Server is required.
- SQLServer --> RMCobol/ISAM access is not required.

- new processes only, eg.
- Cobol prog extracts from ISAM and loads SQLServer table
- Cobol prog reads SQLServer table

I was currently looking at iODBC - the InstantSQL direction is what I thought was most appropriate. But our version of RM/Cobol is 11, and I believe InstantSQL is only included in v12 onwards?

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

I would very definitely upgrade to version 12, to the latest point release. While InstantSQL does not normally have many bugs, one should not allow so many decades to go by without upgrading your software. If I recall correctly, InstantSQL was distributed via a free download prior to version 12. But it is better now (with everything being distributed by download) simply to have it distributed with the development system.

iODBC and unixODBC are very similar in their operation. I would simply follow the recipe laid out on the FreeTDS web site. I think the InstantSQL shared object does not have any problem with either one.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Thanks again Tom. I agree with the need to upgrade RM/Cobol, but that won't be my decision. In the mean time, is InstantSQL available to us right now?
I will study the FreeTDS website.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Almost certainly it is no longer available for version 11.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

I have actually just discovered that we have different versions. A dev server and one live server have v11, but our other live server has v12.
Now, pardon my AIX/Unix/RMCobol newbiness, but can I simmply copy the whole rmcobol directory from the v12 server to one of the others?

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

[quote]... can I simmply copy the whole rmcobol directory from the v12 server to one of the others?[/quote]

Not a great idea.  The license will not work on another machine.  You have to go through the install process.

I had a look at a recent Linux install.  On your dev server, do you have a subdirectory named InstantSQL?  If so, everything you will need is in there.  I don't have immediate access to an AIX box (would have to ask permission from one of my clients).  On Linux, the name of the shared object is libisql.so.  If that is installed on your dev server, then you already have it.  On version 12 installs, all of the necessary development pieces are in the InstantSQL subdirectory.


Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

No - it's only present on the v12 live server.
The old long-term system owner I replaced only dev'd in the live environment (grrrr). And he never went down the SQL road (double grrr). This system is stuck in 1982.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Well...my guess is 1982 is a bit pessimistic...

If you want to use SQL for access to your database, use Relativity. There's nothing magic about a relational database. Most of the classic relational databases use indexed files (ISAM being one version). As memory use became less of a constraint other forms of permanent data stores came into use.

So it would seem that an RM/COBOL upgrade is in order. In the meantime you can be working on the FreeTDS middleware so its ready to go.

Hi all. I'm fairly new to RM/COBOL on AIX. We have an intranet running on Windows server with SQL server database we'd like to be able to access from AIX RM/Cobol. I'd love some tips/guide/opinions on what we need. As basic, easy, cheap (free!) as possible. Many thanks.

Ha ha....not really. GO TOs everywhere, full stops everywhere instead of END delimiters, no EVALUATEs anywhere. No proper structured methodology. The programs mostly have no 85 standards - until now.

We don't need to access the ISAM files using SQL (although that would be nice). We'd like to access our intranet's external SQL Server database (Windows Server).