-
SQL / CLI
Suche SQL-/CLI-Guru für (tel.) Support
__________________________________________________ _______________________
EMSENHUBER INFORMATIK
Wielandsthal 41
A-3130 Herzogenburg
++43(0)2782/82443-0 Fax DW-40
http://www.emsenhuber.at
__________________________________________________ _______________________
-
-
Sg. Herr Fürchau, wir haben folgende VARPG-Problematik: Wir wollen via ODBC extrem flexibel auf DB400, DB2, SQLServer, & Andere zugreifen. Der VARPG zwingt uns aber ein GUI-Programm einzusetzen um die ODBC-Komponente nutzen zu können. Wir "müssen" aber ODBC aus einer (VARPG)DLL aufrufen und so stellt sich die Frage ist der ODBC-Aufruf auch über eine DB(Treiber-) DLL möglich ? wenn ja wie heissen diese DLL's und wie sieht die Parameterübergabe im VARPG aus.
Mfg
Anton Emsenhuber
-
Dazu gibts die CLI-Routinen von Microsoft:
ODBC-API-Implementierungsdetails
-
danke für den Tipp; gibt's VARPG-Muster-/Beispielprogramme ?; komme für die Unkosten (nach vorheriger Absprache) natürlich auf
-
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.
-
DANKE für diese aufwendige info, hat uns ein gutes stück weitergebracht. alternativen zu varpg sind erst in einer weiteren migrationsphase ein thema
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By sim in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-08-04, 07:30
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks