Right now I have it more or less working with Firebird, MySQL and SQLite
I am now tasked to add support of MS SQL
The problem is, my software (ported from dbaseIV) makes use of many TZQuery's Edit and Insert methods
When I try to run it with MSSQL, I immediately get a readonly error
I narrowed this error down to case sensitive sql queries
For example, when I have a TZQuery programmed with select * from AUTOTEXT it works (quick test)
But if it was coded with select * from autotext then it gives an error
I honestly hope ZeosLib is not designed to work this way. I suspect we need an UpperCase somewhere in ZDbcResultSetMetadata.pas/ZDbcDbLibMetadata.pas/ZDbcMetadata.pas/ZSelectSchema.pas. The sheer amount of code wrapped around Edit/Insert makes it very hard for anyone from outside to pinpoint the exact place
I can see in SQL Monitor queries flying to the server like
Code: Select all
2015-07-23 19:23:07 cat: Execute, proto: FreeTDS_MsSQL>=2005, msg: select c.colid, c.name, c.type, c.prec, c.scale, c.colstat, c.status, c.iscomputed from syscolumns c inner join sysobjects o on (o.id = c.id) where o.name COLLATE Latin1_General_CS_AS = 'AUTOTEXT' and c.number=0 order by colid