Muss es denn unbedingt VARPG sein ?
Mittels PC-Sprachen (VB6, VB.NET o.ä.) sind die Zugriffe doch wesentlich einfacher zu gestalten, da es zumindest mit ADO/ADO.NET extrem vereinfachte Zugriffsmöglichkeiten gibt.

Ansonsten gilt:
Jede CLI-Funktion muss als Prototyp deklariert werden (wie man beim Prototyp die DLL angibt, weiß ich nicht).
Die Funktionen sind alle in der "odbccp32.dll".

Auf der AS/400 gibts das auch, deshalb hatte ich mir mal da ein Beispiel gemacht:

Code:
d**********************************************************************
d* Definition Funktionsprototypen                                      
d**********************************************************************
dSQLAllocEnv      pr            10I 0 EXTPROC('SQLAllocEnv')           
d  pHENV                        10I 0                                  
 
dSQLFreeEnv       pr            10I 0 EXTPROC('SQLFreeEnv')            
d  pHENV                        10I 0 value                            
 
dSQLAllocCon      pr            10I 0 EXTPROC('SQLAllocConnect')       
d  HENV                         10I 0 value                            
d  pHDBC                        10I 0                                  
                                                                       
dSQLFreeCon       pr            10I 0 EXTPROC('SQLFreeConnect')
d  HDBC                         10I 0 value                    
 
dSQLConnect       pr            10I 0 EXTPROC('SQLConnect')    
d  HDBC                         10I 0 value                    
d  szDSN                       256    options(*varsize)        
d  cbDSN                         5I 0 value                    
d  szUID                       256    options(*varsize)        
d  cbUID                         5I 0 value                    
d  szAUT                       256    options(*varsize)        
d  cbAUT                         5I 0 value                    
dSQLDisconnect    pr            10I 0 EXTPROC('SQLDisconnect')  
d  HDBC                         10I 0 value                     
 
dSQLAllocStmt     pr            10I 0 EXTPROC('SQLAllocStmt')   
d  HDBC                         10I 0 value                     
d  pHSTMT                       10I 0                           
                                                                
dSQLFreeStmt      pr            10I 0 EXTPROC('SQLFreeStmt')     
d  HSTMT                        10I 0 value                      
d  fOption                       5I 0 value                      
 
dSQLPrepare       pr            10I 0 EXTPROC('SQLPrepare')      
d  HSTMT                        10I 0 value                      
d  szSqlStr                  32766    options(*varsize)          
d  cbSqlStr                      5I 0 value                      
 
dSQLNumResCols    pr            10I 0 EXTPROC('SQLNumResultCols')
d  HSTMT                        10I 0 value                      
d  pCCOL                         5I 0                            
                                                                 
dSQLDescribeCol   pr            10I 0 EXTPROC('SQLDescribeCol')
d  HSTMT                        10I 0 value                    
d  ICOL                          5I 0 value                    
d  szColName                   128    options(*varsize)        
d  cbColNameMax                  5I 0 value                    
d  pcbColName                    5I 0                          
d  pfSqlType                     5I 0                          
d  pcbColDef                    10I 0                          
d  pibScale                      5I 0                          
d  pfNull                        5I 0                          
d**********************************************************************
d* Definition Konstanten                                               
d**********************************************************************
d* Sql-Returns                                                         
d SQL_SUCCESS     c                   const(  0)                       
d SQL_SUCCESS_I   c                   const(  1)                       
d SQL_NO_DATA     c                   const(100)                       
d SQL_NEED_DATA   c                   const( 99)                       
d SQL_ERROR       c                   const( -1)                       
d SQL_INV_HAND    c                   const( -2)                       
 
d* Sql-Drop                                                            
d SQL_CLOSE       c                   const( 1)                        
d SQL_DROP        c                   const( 2)                        
d SQL_UNBIND      c                   const( 3)                        
d SQL_RESET_P     c                   const( 4)                        
                                                                       
d* Sql-Allgemein                               
d SQL_FALSE       c                   const( 0)
d SQL_TRUE        c                   const( 1)
d SQL_NTS         c                   const(-3)
d SQL_SQLSTATS    c                   const( 5)
 
d SQL_NO_NULLS    c                   const( 0)
d SQL_NULLABLE    c                   const( 1)
 
d* Sql-Feldtypen                               
d SQL_CHAR        c                   const( 1)
d SQL_NUMERIC     c                   const( 2)
d SQL_DECIMAL     c                   const( 3)
d SQL_INTEGER     c                   const( 4)
d SQL_SMALLINT    c                   const( 5)
d SQL_FLOAT       c                   const( 6)
d SQL_REAL        c                   const( 7)
d SQL_DOUBLE      c                   const( 8)
d SQL_DATETIME    c                   const( 9)
d SQL_VARCHAR     c                   const(12)
d SQL_BLOB        c                   const(13)
d SQL_CLOB        c                   const(14)
d SQL_DBCLOB      c                   const(15)
d SQL_DATALINK    c                   const(16)
d SQL_WCHAR       c                   const(17)
d SQL_WVARCHAR    c                   const(18)
d SQL_BIGINT      c                   const(19)
d SQL_BLOB_LOC    c                   const(20)
d SQL_CLOB_LOC    c                   const(21)
 
d SQL_DBCLOB_LOC  c                   const(22) 
d SQL_WLONGVARCH  c                   const(18) 
d SQL_LONGVARCHA  c                   const(12) 
d SQL_GRAPHIC     c                   const(95) 
d SQL_VARGRAPHIC  c                   const(96) 
d SQL_LONGVARGRA  c                   const(96) 
d SQL_BINARY      c                   const(97) 
d SQL_VARBINARY   c                   const(98) 
d SQL_LONGVARBIN  c                   const(98) 
d SQL_DATE        c                   const(91) 
d SQL_TYPE_DATE   c                   const(91) 
d SQL_TIME        c                   const(92) 
d SQL_TYPE_TIME   c                   const(92) 
d SQL_TIMESTAMP   c                   const(93) 
d SQL_TYPE_TS     c                   const(93)
Die Reihenfolge der Verwendung ist:

SqlAllocEnv
SQLSetEnvAttr <= je Attribut
SQLAllocConnect
SQLSetConnectAttr <= je Attribut
SQLConnect
SQLAllocStmt
SQLExecDirect <= kann jeder Befehl sein

SQLNumResultCols
SQLColAttributes <= Information je Spalte und Attribut

SqlBindCol <= Zuweisung Pufferadresse

Schleife bis Ende:
SQLFetch <= Lesen der Daten

SQLFreeStmt
SQLDisconnect
SQLFreeConnect
SqlFreeEnv

Ich hoffe das reicht mal fürs probieren.