The SQLRDD library for Harbour and MiniGUI

You can share your experience with HMG. Share with some screenshots/project details so that others will also be benefited.

Moderator: Rathinagiri

User avatar
gfilatov
Posts: 1079
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

The SQLRDD library for Harbour and MiniGUI

Post by gfilatov »

Dear Friends,

Since the SQLRDD source codes have already been published, I have adapted this library for use with MiniGUI.
image.png
image.png (40.2 KiB) Viewed 88452 times
You can see the full source code of the example below.

Code: Select all

// SQLRDD
// test with MySQL

#include <minigui.ch>
#include "sqlrdd.ch"
#include <set.ch>

#define SQL_DBMS_NAME                       17
#define SQL_DBMS_VER                        18

// NOTE: the database must exist before runnning the test.
#define SERVER "localhost"
#define UID    "root"
#define PWD    "mypass"
#define DTB    "test"

REQUEST SQLRDD
REQUEST SQLEX
REQUEST SR_MYSQL

PROCEDURE Main()

   LOCAL nConnection
   LOCAL n
   LOCAL lDeleted := .F.

   SET DATE FORMAT TO "yyyy-mm-dd"
   SET DELETED ON
   SET WINDOW MAIN OFF

   rddSetDefault("SQLRDD")

   nConnection := sr_AddConnection(CONNECT_MYSQL, "MySQL=" + SERVER + ";UID=" + UID + ";PWD=" + PWD + ";DTB=" + DTB)

   IF nConnection < 0
      alert("Connection error. See sqlerror.log for details.")
      QUIT
   ELSE
      alert("Connected to : " + SR_GetConnectionInfo(, SQL_DBMS_NAME) + " " + SR_GetConnectionInfo(, SQL_DBMS_VER))
   ENDIF
   
   sr_StartLog(nConnection)

   IF !sr_ExistTable("test")
      dbCreate("test", {{"ID",      "N", 10, 0}, ;
                        {"FIRST",   "C", 30, 0}, ;
                        {"LAST",    "C", 30, 0}, ;
                        {"AGE",     "N",  3, 0}, ;
                        {"DATE",    "D",  8, 0}, ;
                        {"MARRIED", "L",  1, 0}, ;
                        {"VALUE",   "N", 12, 2}}, "SQLRDD")
   ENDIF

   USE test EXCLUSIVE VIA "SQLRDD"

   IF !SR_ExistIndex("TESTID")
      INDEX ON FIELD->ID TO TESTID
   ENDIF
   IF !SR_ExistIndex("TESTDATE")
      INDEX ON FIELD->DATE TO TESTDATE
   ENDIF
   IF !SR_ExistIndex("TESTVAL")
      INDEX ON FIELD->VALUE TO TESTVAL
   ENDIF

   SET INDEX TO TESTID, TESTDATE, TESTVAL

   IF reccount() < 100
      FOR n := 1 TO 100
         APPEND BLANK
         REPLACE ID      WITH n
         REPLACE FIRST   WITH "FIRST" + hb_ntos(n)
         REPLACE LAST    WITH "LAST" + hb_ntos(n)
         REPLACE AGE     WITH n + 18
         REPLACE DATE    WITH date() - n
         REPLACE MARRIED WITH iif(n / 2 == int(n / 2), .T., .F.)
         REPLACE VALUE   WITH n * 1000 / 100
      NEXT n
   ENDIF

   GO TOP

   EDIT EXTENDED

   IF SET(_SET_DELETED)
      SET DELETED OFF
      SELECT TEST
      GO TOP
      DO WHILE !Eof()
         IF Deleted()
           lDeleted := .T.
           EXIT
         ELSE
           dbSkip()
         ENDIF
      ENDDO
      IF lDeleted
         PACK
      ENDIF
   ENDIF

   CLOSE DATABASE
   
   sr_StopLog(nConnection)
   
   sr_EndConnection(nConnection)

RETURN
BTW you can download the SQLRDD source at
https://github.com/xHarbour-org/xharbou ... our-SQLRDD

Changes required in your source code:

If your application already runs in xHarbour with DBF files, you will need to
make the following changes:

1 - Add database connection instructions. You can use the ones in
samples\SQLRDD folder. See samples\SQLRDD\connect.prg.

2 - Upload your DBF files to database. You may use samples\SQLRDD\dbf2sql.prg
for this.

3 - Add needed REQUESTs and include files in your main PRG:

#include "sqlrdd.ch" // SQLRDD Main include
#include "pgs.ch" // Needed if you plan to use native connection to Postgres
#include "mysql.ch" // Needed if you plan to use native connection to MySQL
#include "oracle.ch" // Needed if you plan to use native connection to Oracle
#include "firebird.ch" // Needed if you plan to use native connection to Firebird

REQUEST SQLRDD // SQLRDD should be linked in
REQUEST SR_ODBC // Needed if you plan to connect with ODBC
REQUEST SR_PGS // Needed if you plan to use native connection to Postgres
REQUEST SR_MYSQL // Needed if you plan to use native connection to MySQL
REQUEST SR_ORACLE // Needed if you plan to use native connection to Oracle
REQUEST SR_FIREBIRD // Needed if you plan to use native connection to Firebird

My question : is it interested to someone?

Your feedback is welcome. :arrow:
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
serge_girard
Posts: 3172
Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB
2 DBF
Location: Belgium
Contact:

Re: The SQLRDD library for Harbour and MiniGUI

Post by serge_girard »

Thanks Grigory !
There's nothing you can do that can't be done...
User avatar
mol
Posts: 3726
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Contact:

Re: The SQLRDD library for Harbour and MiniGUI

Post by mol »

How many adaptations are required for HMG?
I'm interested in connection with PostgreSQL and Microsoft SQL Server
edk
Posts: 916
Joined: Thu Oct 16, 2014 11:35 am
Location: Poland

Re: The SQLRDD library for Harbour and MiniGUI

Post by edk »

Thanks Grigorij, I'm interested!
I briefly looked through the sources and I see that it supports Firebird 3 natively, but I don't see anything about Firebird 4. There is also an ODBC driver on the Fb organization's website, but probably only for version 2.5. Do you know if SQLRDD works well with Fb4? With MSSQL it only works via ODBC?
User avatar
gfilatov
Posts: 1079
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: The SQLRDD library for Harbour and MiniGUI

Post by gfilatov »

edk wrote: Sun Oct 08, 2023 11:18 am Thanks Grigorij, I'm interested!
I briefly looked through the sources and I see that it supports Firebird 3 natively, but I don't see anything about Firebird 4. There is also an ODBC driver on the Fb organization's website, but probably only for version 2.5. Do you know if SQLRDD works well with Fb4? With MSSQL it only works via ODBC?
Hello Edward,

Thanks for your interest :!:

I tested the SQLRDD library with MySQL server only.
The header sqlrdd.ch contains the following list of supported SQL servers:
/* supported RDBMS */

#define SUPPORTED_DATABASES 23

#define SYSTEMID_UNKNOW 0
#define SYSTEMID_ORACLE 1
#define SYSTEMID_MSSQL6 2
#define SYSTEMID_MSSQL7 3
#define SYSTEMID_SQLANY 4
#define SYSTEMID_SYBASE 5
#define SYSTEMID_ACCESS 6
#define SYSTEMID_INGRES 7
#define SYSTEMID_SQLBAS 8
#define SYSTEMID_ADABAS 9
#define SYSTEMID_INFORM 10
#define SYSTEMID_IBMDB2 11
#define SYSTEMID_MYSQL 12
#define SYSTEMID_POSTGR 13
#define SYSTEMID_FIREBR 14
#define SYSTEMID_CACHE 15
#define SYSTEMID_OTERRO 16
#define SYSTEMID_PERVASIVE 17
#define SYSTEMID_AZURE 18
#define SYSTEMID_MARIADB 19
#define SYSTEMID_FIREBR3 20
#define SYSTEMID_FIREBR4 21
#define SYSTEMID_FIREBR5 22
Note that this is adapted for the Harbour version of the library, since the original xHarbour source code did not work with the Harbour compiler (when starting the application, a runtime error was shown).

Thank you for your attention :)
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
edk
Posts: 916
Joined: Thu Oct 16, 2014 11:35 am
Location: Poland

Re: The SQLRDD library for Harbour and MiniGUI

Post by edk »

Thank you Grigorij, but I cannot find the definitions you quoted in any of these headings:
xHarbourBuilder/xHarbour-SQLRDD/source/hbsql.ch
xHarbourBuilder/xHarbour-SQLRDD/source/sqlrdd.ch
xHarbourBuilder/xHarbour-SQLRDD/Include/sqlrdd.ch
:roll:
User avatar
gfilatov
Posts: 1079
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: The SQLRDD library for Harbour and MiniGUI

Post by gfilatov »

edk wrote: Sun Oct 08, 2023 8:10 pm Thank you Grigorij, but I cannot find the definitions you quoted in any of these headings:
xHarbourBuilder/xHarbour-SQLRDD/source/hbsql.ch
xHarbourBuilder/xHarbour-SQLRDD/source/sqlrdd.ch
xHarbourBuilder/xHarbour-SQLRDD/Include/sqlrdd.ch
:roll:
Hi,

Thank you for your feedback.

> I cannot find the definitions ...
It is expected because it was used a fork of SQLRDD library for Harbour.

Please take a look at the public functions list in the above fork below:
DYNAMIC AADDDISTINCT
DYNAMIC AADDRANGE
DYNAMIC AADDRANGEDISTINCT
DYNAMIC ADDTOMLHASH
DYNAMIC ADISTINCT
DYNAMIC ALGEBRASET
DYNAMIC AREPLACENILBY
DYNAMIC ARITHMETICOPERATOR
DYNAMIC AWHERE
DYNAMIC BOOLEANEXPRESSION
DYNAMIC CJOIN
DYNAMIC CLIPPEREXPRESSION
DYNAMIC CLOSECURSOR
DYNAMIC COLLECTALIASES
DYNAMIC COMPARISON
DYNAMIC COMPARISONOPERATOR
DYNAMIC COMPOSEDCONDITION
DYNAMIC COMPOSEDCONDITIONBASE
DYNAMIC COMPOSEDEXPRESSION
DYNAMIC CONDITIONBASE
DYNAMIC CONDITIONPARSER
DYNAMIC CONDITIONSIMPLIFIER
DYNAMIC CONVERTTOCONDITION
DYNAMIC CPATTERN
DYNAMIC DBCOUNT
DYNAMIC DBFIELD
DYNAMIC DBINDEX
DYNAMIC DETECTDBFROMDSN
DYNAMIC DICTIONARY
DYNAMIC DIRECTRELATION
DYNAMIC ENCHANCEDDIRECTRELATION
DYNAMIC ENCHANCEDRELATIONFACTORY
DYNAMIC EXECUTESP
DYNAMIC EXECUTESP2
DYNAMIC EXPRESSION
DYNAMIC EXPRESSIONBASE
DYNAMIC EXPRESSIONPARSER
DYNAMIC EXPRESSIONSIMPLIFIER
DYNAMIC EXPRESSIONSIMPLIFIERBASE
DYNAMIC EXPRESSIONTRANSLATOR
DYNAMIC EXTENDWORKAREA
DYNAMIC FBBEGINTRANSACTION
DYNAMIC FBBEGINTRANSACTION3
DYNAMIC FBBEGINTRANSACTION4
DYNAMIC FBBEGINTRANSACTION5
DYNAMIC FBCLOSE
DYNAMIC FBCLOSE3
DYNAMIC FBCLOSE4
DYNAMIC FBCLOSE5
DYNAMIC FBCOMMITTRANSACTION
DYNAMIC FBCOMMITTRANSACTION3
DYNAMIC FBCOMMITTRANSACTION4
DYNAMIC FBCOMMITTRANSACTION5
DYNAMIC FBCONNECT
DYNAMIC FBCONNECT3
DYNAMIC FBCONNECT4
DYNAMIC FBCONNECT5
DYNAMIC FBCREATEDB
DYNAMIC FBCREATEDB3
DYNAMIC FBCREATEDB4
DYNAMIC FBCREATEDB5
DYNAMIC FBDESCRIBECOL
DYNAMIC FBDESCRIBECOL3
DYNAMIC FBDESCRIBECOL4
DYNAMIC FBDESCRIBECOL5
DYNAMIC FBERROR
DYNAMIC FBERROR3
DYNAMIC FBERROR4
DYNAMIC FBERROR5
DYNAMIC FBEXECUTE
DYNAMIC FBEXECUTE3
DYNAMIC FBEXECUTE4
DYNAMIC FBEXECUTE5
DYNAMIC FBEXECUTEIMMEDIATE
DYNAMIC FBEXECUTEIMMEDIATE3
DYNAMIC FBEXECUTEIMMEDIATE4
DYNAMIC FBEXECUTEIMMEDIATE5
DYNAMIC FBFETCH
DYNAMIC FBFETCH3
DYNAMIC FBFETCH4
DYNAMIC FBFETCH5
DYNAMIC FBGETDATA
DYNAMIC FBGETDATA3
DYNAMIC FBGETDATA4
DYNAMIC FBGETDATA5
DYNAMIC FBLINEPROCESSED
DYNAMIC FBLINEPROCESSED3
DYNAMIC FBLINEPROCESSED4
DYNAMIC FBLINEPROCESSED5
DYNAMIC FBNUMRESULTCOLS
DYNAMIC FBNUMRESULTCOLS3
DYNAMIC FBNUMRESULTCOLS4
DYNAMIC FBNUMRESULTCOLS5
DYNAMIC FBROLLBACKTRANSACTION
DYNAMIC FBROLLBACKTRANSACTION3
DYNAMIC FBROLLBACKTRANSACTION4
DYNAMIC FBROLLBACKTRANSACTION5
DYNAMIC FBVERSION
DYNAMIC FBVERSION3
DYNAMIC FBVERSION4
DYNAMIC FBVERSION5
DYNAMIC FB_MORERESULTS
DYNAMIC FB_MORERESULTS4
DYNAMIC FB_MORERESULTS5
DYNAMIC FUNCTIONEXPRESSION
DYNAMIC GETAFFECTROWS
DYNAMIC GETCONTROLLINGINDEX
DYNAMIC GETFIELDBYNAME
DYNAMIC GETFIELDS
DYNAMIC GETFILENAME
DYNAMIC GETINDEXES
DYNAMIC GETJOINTSFIELDS
DYNAMIC GETMLHASH
DYNAMIC GETORAHANDLE
DYNAMIC INDIRECTRELATION
DYNAMIC ISERIALCOMPOSITION
DYNAMIC ISSQLWORKAREA
DYNAMIC ITEMCMP
DYNAMIC KEYVALUEPAIR
DYNAMIC LOGICALOPERATOR
DYNAMIC MSSQLEXPRESSIONTRANSLATOR
DYNAMIC MYSAFFECTEDROWS
DYNAMIC MYSCLEAR
DYNAMIC MYSCOLS
DYNAMIC MYSCOMMIT
DYNAMIC MYSCONNECT
DYNAMIC MYSERRMSG
DYNAMIC MYSEXEC
DYNAMIC MYSFETCH
DYNAMIC MYSFINISH
DYNAMIC MYSGETCONNID
DYNAMIC MYSKILLCONNID
DYNAMIC MYSLINEPROCESSED
DYNAMIC MYSQUERYATTR
DYNAMIC MYSRESSTATUS
DYNAMIC MYSRESULTSTATUS
DYNAMIC MYSROLLBACK
DYNAMIC MYSSTATUS
DYNAMIC MYSTABLEATTR
DYNAMIC MYSVERS
DYNAMIC NEWDBCLEARFILTER
DYNAMIC NEWDBCLEARRELATION
DYNAMIC NEWDBSETRELATION
DYNAMIC NEWPARSEFORCLAUSE
DYNAMIC OGETWORKAREA
DYNAMIC OPERATOR
DYNAMIC ORACLEBINDALLOC
DYNAMIC ORACLEEXECDIR
DYNAMIC ORACLEEXECDIRCURSOR
DYNAMIC ORACLEFREEBIND
DYNAMIC ORACLEGETBINDDATA
DYNAMIC ORACLEINBINDPARAM
DYNAMIC ORACLEPREPARE
DYNAMIC ORACLEWRITEMEMO
DYNAMIC ORACLE_BINDCURSOR
DYNAMIC ORACLE_BIND_BY_NAME
DYNAMIC ORACLE_CLOSE_FCURSOR
DYNAMIC ORACLE_EXECCURSOR
DYNAMIC ORACLE_PROCCURSOR
DYNAMIC ORACLE_SAVE_HANDLE_ST
DYNAMIC PARAMETER
DYNAMIC PARSERBASE
DYNAMIC PGSAFFECTEDROWS
DYNAMIC PGSCLEAR
DYNAMIC PGSCOLS
DYNAMIC PGSCOMMIT
DYNAMIC PGSCONNECT
DYNAMIC PGSERRMSG
DYNAMIC PGSEXEC
DYNAMIC PGSFETCH
DYNAMIC PGSFINISH
DYNAMIC PGSGETDATA
DYNAMIC PGSLINEPROCESSED
DYNAMIC PGSQUERYATTR
DYNAMIC PGSRESSTATUS
DYNAMIC PGSRESULTSTATUS
DYNAMIC PGSROLLBACK
DYNAMIC PGSSTATUS
DYNAMIC PGSSTATUS2
DYNAMIC PGSTABLEATTR
DYNAMIC RELATIONBASE
DYNAMIC RELATIONFACTORY
DYNAMIC RELATIONMANAGER
DYNAMIC REMOVEALL
DYNAMIC SELECTFIRSTAREANOTINUSE
DYNAMIC SERIALOPERATOR
DYNAMIC SETFIREBIRDUSESHORTASNUM
DYNAMIC SETORAHANDLE
DYNAMIC SETPGSOLDBEHAVIOR
DYNAMIC SPLITCONDITION
DYNAMIC SQLBINDBYVAL
DYNAMIC SQLEX
DYNAMIC SQLEX_GETFUNCTABLE
DYNAMIC SQLFASTHASH
DYNAMIC SQLO_CLOSESTMT
DYNAMIC SQLO_COMMIT
DYNAMIC SQLO_CONNECT
DYNAMIC SQLO_DBMSNAME
DYNAMIC SQLO_DESCRIBECOL
DYNAMIC SQLO_DISCONNECT
DYNAMIC SQLO_EXECDIRECT
DYNAMIC SQLO_EXECUTE
DYNAMIC SQLO_FETCH
DYNAMIC SQLO_GETERRORCODE
DYNAMIC SQLO_GETERRORDESCR
DYNAMIC SQLO_LINE
DYNAMIC SQLO_LINEPROCESSED
DYNAMIC SQLO_NUMCOLS
DYNAMIC SQLO_ROLLBACK
DYNAMIC SQLRDD
DYNAMIC SQLRDD_GETFUNCTABLE
DYNAMIC SR_ADDCONNECTION
DYNAMIC SR_ADDRULENOTNULL
DYNAMIC SR_ADDTOFILTER
DYNAMIC SR_ADJUSTNUM
DYNAMIC SR_ALLINCACHE
DYNAMIC SR_ALLOCCO
DYNAMIC SR_ALLOCEN
DYNAMIC SR_ALLOCST
DYNAMIC SR_ARRAYTOXML
DYNAMIC SR_AUTOCOMMIT
DYNAMIC SR_BEGINTRANSACTION
DYNAMIC SR_BINDBYVALUE
DYNAMIC SR_BLANKVAR
DYNAMIC SR_CDBVALUE
DYNAMIC SR_CHANGESTRUCT
DYNAMIC SR_CHECKCNN
DYNAMIC SR_CHECKCONNECTION
DYNAMIC SR_CHECKMGMNTIND
DYNAMIC SR_CLEANTABINFOCACHE
DYNAMIC SR_CLEARFILTER
DYNAMIC SR_COLATTRIBUTE
DYNAMIC SR_COMMIT
DYNAMIC SR_COMMITTRANSACTION
DYNAMIC SR_CONNECTION
DYNAMIC SR_CREATECONSTRAINT
DYNAMIC SR_DBQUALIFY
DYNAMIC SR_DBREFRESH
DYNAMIC SR_DBSTRUCT
DYNAMIC SR_DELETEDNAME
DYNAMIC SR_DESCRIB
DYNAMIC SR_DESERIALIZE
DYNAMIC SR_DESERIALIZE1
DYNAMIC SR_DETECTDBFROMDSN
DYNAMIC SR_DISABLEHISTORIC
DYNAMIC SR_DISCONN
DYNAMIC SR_DRIVERC
DYNAMIC SR_DROPCONSTRAINT
DYNAMIC SR_DROPINDEX
DYNAMIC SR_DROPRULENOTNULL
DYNAMIC SR_DROPTABLE
DYNAMIC SR_DTODOT
DYNAMIC SR_DTOSDOT
DYNAMIC SR_DTOUS
DYNAMIC SR_ENABLEHISTORIC
DYNAMIC SR_END
DYNAMIC SR_ENDCONNECTION
DYNAMIC SR_ENDTRANSACTION
DYNAMIC SR_ERROR
DYNAMIC SR_ERRORONGOTOTOINVALIDRECORD
DYNAMIC SR_ESCAPENUM
DYNAMIC SR_ESCAPESTRING
DYNAMIC SR_EVALFILTERS
DYNAMIC SR_EXECDIR
DYNAMIC SR_EXISTINDEX
DYNAMIC SR_EXISTTABLE
DYNAMIC SR_FETCH
DYNAMIC SR_FETCHSIZE
DYNAMIC SR_FILE
DYNAMIC SR_FILTERSTATUS
DYNAMIC SR_FIREBIRD
DYNAMIC SR_FIREBIRD3
DYNAMIC SR_FIREBIRD4
DYNAMIC SR_FIREBIRD5

DYNAMIC SR_FIXCACHEPOINTER
DYNAMIC SR_FREECON
DYNAMIC SR_FREEENV
DYNAMIC SR_FREESTM
DYNAMIC SR_FROMXML
DYNAMIC SR_GETACTIVECONNECTION
DYNAMIC SR_GETACTIVEDT
DYNAMIC SR_GETCNN
DYNAMIC SR_GETCONNECTION
DYNAMIC SR_GETCONNECTIONINFO
DYNAMIC SR_GETCONNECTOPTION
DYNAMIC SR_GETCURRINSTANCEID
DYNAMIC SR_GETERRMESSAGEMAX
DYNAMIC SR_GETFASTOPEN
DYNAMIC SR_GETGLOBALOWNER
DYNAMIC SR_GETINDEXINFOBLOCK
DYNAMIC SR_GETINFO
DYNAMIC SR_GETINTERNALID
DYNAMIC SR_GETNCONNECTION
DYNAMIC SR_GETNEXTRECORDBLOCK
DYNAMIC SR_GETORACLESYNTHETICVIRTUAL
DYNAMIC SR_GETRDDNAME
DYNAMIC SR_GETSQL2008NEWTYPES
DYNAMIC SR_GETSTACK
DYNAMIC SR_GETSVINDEX
DYNAMIC SR_GETSYNTHETICINDEX
DYNAMIC SR_GETSYNTHETICINDEXMINIMUN
DYNAMIC SR_GETTABLEINFOBLOCK
DYNAMIC SR_GETTOOLSOWNER
DYNAMIC SR_GETUNIQUESYSTEMID
DYNAMIC SR_GETUSEJSON
DYNAMIC SR_GETUSEXMLFIELD
DYNAMIC SR_GOPHANTOM
DYNAMIC SR_HASFILTERS
DYNAMIC SR_HASHISTORIC
DYNAMIC SR_HEXTOSTR
DYNAMIC SR_HISTEXPRESSION
DYNAMIC SR_HISTEXPRESSIONWHERE
DYNAMIC SR_INDEXATTR
DYNAMIC SR_INIT
DYNAMIC SR_INSTALLDSN
DYNAMIC SR_INSTALLERROR
DYNAMIC SR_ISWAHIST
DYNAMIC SR_LASTSQLERROR
DYNAMIC SR_LISTCREATEDTABLES
DYNAMIC SR_LISTINDEX
DYNAMIC SR_LISTLOCKS
DYNAMIC SR_LISTTABLES
DYNAMIC SR_LOGFILE
DYNAMIC SR_MARIA
DYNAMIC SR_MAXROWCACHE
DYNAMIC SR_MORERESULTS
DYNAMIC SR_MSG
DYNAMIC SR_MSGLOGFILE
DYNAMIC SR_MYSQL
DYNAMIC SR_NUMRES
DYNAMIC SR_ODBC
DYNAMIC SR_ODBCGETLINES
DYNAMIC SR_ODBCLINEPROCESSED
DYNAMIC SR_ODBCWRITEMEMO
DYNAMIC SR_ORACLE
DYNAMIC SR_ORACLE2
DYNAMIC SR_ORDCONDSET
DYNAMIC SR_PARSEFILENAME
DYNAMIC SR_PARSERVERSION
DYNAMIC SR_PCODEDESCR
DYNAMIC SR_PGS
DYNAMIC SR_PHFILE
DYNAMIC SR_QUICKAPPEND
DYNAMIC SR_RECNONAME
DYNAMIC SR_RELEASELOCKS
DYNAMIC SR_RELOADFIELDMODIFIERS
DYNAMIC SR_RELOADMLHASH
DYNAMIC SR_RENAMETABLE
DYNAMIC SR_RESETSTATISTICS
DYNAMIC SR_ROLLBACK
DYNAMIC SR_ROLLBACKTRANSACTION
DYNAMIC SR_RUNTIMEERR
DYNAMIC SR_SERIALIZE1
DYNAMIC SR_SETACTIVECONNECTION
DYNAMIC SR_SETACTIVEDATE
DYNAMIC SR_SETACTIVEDT
DYNAMIC SR_SETALLOWRELATIONSININDX
DYNAMIC SR_SETALOCKWAIT
DYNAMIC SR_SETAPPSITE
DYNAMIC SR_SETAPPUSER
DYNAMIC SR_SETBASELANG
DYNAMIC SR_SETBUFFERPOOLSIZE
DYNAMIC SR_SETCOLLATION
DYNAMIC SR_SETCOLPK
DYNAMIC SR_SETCONNECTATTR
DYNAMIC SR_SETCONNECTIONLOGCHANGES
DYNAMIC SR_SETCONNECTOPTION
DYNAMIC SR_SETCREATEASHISTORIC
DYNAMIC SR_SETCURRDATE
DYNAMIC SR_SETEXCLUSIVEMANAGEMENT
DYNAMIC SR_SETFASTOPEN
DYNAMIC SR_SETFIELDDEFAULT
DYNAMIC SR_SETFILTER
DYNAMIC SR_SETFOUND
DYNAMIC SR_SETGLOBALOWNER
DYNAMIC SR_SETGOTOPONSCOPE
DYNAMIC SR_SETHIDEHISTORIC
DYNAMIC SR_SETHIDERECNO
DYNAMIC SR_SETINDEXINFOBLOCK
DYNAMIC SR_SETJOIN
DYNAMIC SR_SETLGOTOPONFIRSTINTERACT
DYNAMIC SR_SETLOCKS
DYNAMIC SR_SETLUSEDBCATALOGS
DYNAMIC SR_SETMININUMVARCHAR2SIZE
DYNAMIC SR_SETMULTILANG
DYNAMIC SR_SETMYSQLMEMODATATYPE
DYNAMIC SR_SETMYSQLNUMERICDATATYPE
DYNAMIC SR_SETNEXTDT
DYNAMIC SR_SETNEXTQUERY
DYNAMIC SR_SETNEXTRECORDBLOCK
DYNAMIC SR_SETNEXTSVVERS
DYNAMIC SR_SETNLINECOUNTRESULT
DYNAMIC SR_SETNWGCOMPAT
DYNAMIC SR_SETORACLESYNTHETICVIRTUAL
DYNAMIC SR_SETPAGEREADSIZE
DYNAMIC SR_SETRDDTEMP
DYNAMIC SR_SETREVERSEINDEX
DYNAMIC SR_SETROOTLANG
DYNAMIC SR_SETSECONDLANG
DYNAMIC SR_SETSERIALIZEARRAYASJSON
DYNAMIC SR_SETSERIALIZEDSTRING
DYNAMIC SR_SETSHUTDOWN
DYNAMIC SR_SETSQL2008NEWTYPES
DYNAMIC SR_SETSTMTOPTION
DYNAMIC SR_SETSVINDEX
DYNAMIC SR_SETSYNTHETICINDEX
DYNAMIC SR_SETSYNTHETICINDEXMINIMUN
DYNAMIC SR_SETTABLEINFOBLOCK
DYNAMIC SR_SETTBLMGMNT
DYNAMIC SR_SETTBLSPACEDATA
DYNAMIC SR_SETTBLSPACEINDX
DYNAMIC SR_SETTBLSPACELOB
DYNAMIC SR_SETTIMETRACE
DYNAMIC SR_SETTOOLSOWNER
DYNAMIC SR_SETTRACELOG
DYNAMIC SR_SETUSEDTHISTAUTO
DYNAMIC SR_SETUSEJSON
DYNAMIC SR_SETUSESEQUENCES
DYNAMIC SR_SETUSEXMLFIELD
DYNAMIC SR_SHOWVECTOR
DYNAMIC SR_SQLCODEGEN
DYNAMIC SR_SQLPARSE
DYNAMIC SR_SQLQUOTEDSTRING
DYNAMIC SR_STARTLOG
DYNAMIC SR_STARTTRACE
DYNAMIC SR_STOPLOG
DYNAMIC SR_STOPTRACE
DYNAMIC SR_STRTOHEX
DYNAMIC SR_TABLEATTR
DYNAMIC SR_TABLES
DYNAMIC SR_TBLMGMNT
DYNAMIC SR_TCNEXTRECORD
DYNAMIC SR_TRANSACTIONCOUNT
DYNAMIC SR_UCHARTOVAL
DYNAMIC SR_UNINSTALLDSN
DYNAMIC SR_USEDELETEDS
DYNAMIC SR_USENULLSFIRST
DYNAMIC SR_USESEQUENCES
DYNAMIC SR_VAL2CHAR
DYNAMIC SR_VAL2CHARQ
DYNAMIC SR_VERSION
DYNAMIC SR_WORKAREA
DYNAMIC SR_WORKAREAFILENAME
DYNAMIC SR_WRITEDBLOG
DYNAMIC SR_WRITETIMELOG
DYNAMIC TODICTIONARY
DYNAMIC TRANSLATIONRESULT
DYNAMIC VALUEEXPRESSION
DYNAMIC VISUALIZE
DYNAMIC XFIRST
DYNAMIC XFIRSTORDEFAULT
DYNAMIC XSELECT
DYNAMIC XSELECTMANY
DYNAMIC _SR_REGISTER
DYNAMIC _SR_SCANEXEC
DYNAMIC _SR_SCANEXECALL
DYNAMIC _SR_UNREGISTER
DYNAMIC __SR_STARTSQL
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
User avatar
AUGE_OHR
Posts: 2065
Joined: Sun Aug 25, 2019 3:12 pm
DBs Used: DBF, PostgreSQL, MySQL, SQLite
Location: Hamburg, Germany

Re: The SQLRDD library for Harbour and MiniGUI

Post by AUGE_OHR »

hi,

which Compiler can be used :?:
have fun
Jimmy
User avatar
gfilatov
Posts: 1079
Joined: Fri Aug 01, 2008 5:42 am
Location: Ukraine
Contact:

Re: The SQLRDD library for Harbour and MiniGUI

Post by gfilatov »

AUGE_OHR wrote: Mon Oct 09, 2023 10:20 am which Compiler can be used :?:
Jummy,

This can be any C compiler supported by Harbour: :arrow:
  • BCC
  • MS Visual C
  • MinGW
The C compiler doesn't matter. :o

But you will need to have a fully working installation of one of supported SQL system to make use of SQLRDD:
MySQL, Postgres, Firebird, Oracle, MS SQL, etc.
Kind Regards,
Grigory Filatov

"Everything should be made as simple as possible, but no simpler." Albert Einstein
edk
Posts: 916
Joined: Thu Oct 16, 2014 11:35 am
Location: Poland

Re: The SQLRDD library for Harbour and MiniGUI

Post by edk »

gfilatov wrote: Mon Oct 09, 2023 7:16 am
Hi,

Thank you for your feedback.

> I cannot find the definitions ...
It is expected because it was used a fork of SQLRDD library for Harbour.
Are you talking about a fork of sqlrdd from M.A.Gambeta?
There are issues in this fork regarding Firebird 4/5:
Undefined SQL datatype
Unsupported data type at column DATE
Post Reply