Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.
  Suchen
 Zurück zur Übersicht
 AutorThema: 3. Betaversion PROFAN 7.6!
Roland G. Hülsmann
Datum:18.09.02 19:35 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Neu: Nutzung mehrerer SQL-Verbindungen
======================================

Diese Funktionalität wird wahrscheinlich noch geändert, daher betrachtet sie nur als unverbindlichen Prototypen!

Ein erfolgeiches SQLInit liefert nun nicht mehr 1 zurück, sondern das Handle der Datenbankverbindung. Auf diese Weise kann man mehrere SQLInit machen und sich die Handles merken:
DB1& = SQLINIT("<Datenabank1>")
DB2& = SQLINIT("<Datenabank2>")

VOR dem entsprechenden SQLExec oder SQLDone kann nun festgelegt werden, welche Datenbank genutzt werden soll:
SET("SQLDBC",DB1&)
SQLEXEC "<Befehl1>",1
SET("SQLDBC",DB2&)
SQLEXEC "<Befehl2>",1

Es gibt nun auch eine Systemvariable &SQLDBC, die das Handle der gerade aktuellen Datenbankverbindung enthält.

Hier die bekannte Download-Adresse:
http://www.profan2.de/download/xprofan.zip

Da ich momentan nur einen SQL-Treiber auf meinem System habe, kann ich das Ganze nicht so recht testen. Ich bitte daher diejenigen, die diese Funktion benötigen um umfangreiche Tests und Mitteilung der Ergebnisse!

Danke!
Roland


Roland G. Hülsmann
Datum:19.09.02 16:37 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Heute habe ich es endlich testen können: Es gibt noch einen Fehler: SQLInit liefert noch nicht das Datenbank-Handle zurück sondern wie bisher Erfolg oder Fehler. Nutzt man aber die Systemvariable &SQLDBC dann funktioniert es problemlos. Hier mein Testprogramm:
cls
declare hdb1&, hdb2&

' 1. Datenbank öffen und lesen

if @SQLinit("DSN=ZIM") > 0
   hdb1& = &SQLDBC
   print "OK"
   sqlexec "select name, dgeburt from personen where dgeburt > {d'1969-09-12'}",1
   listbox$("ZIM",2)
else
   print &SQLDBC
   print "FEHLER!"   
endif

' 2. Datenbank öffen und lesen

clearlist
if @SQLinit("DSN=dBase") > 0
   hdb2& = &SQLDBC
   print "OK"
   sqlexec "select * from adress",1
   listbox$("dBase",2)
else
   print "FEHLER!"   
endif

' 1. Datenbank erneut lesen

clearlist
set("SQLDBC",hdb1&)
sqlexec "select name, dgeburt from personen where dgeburt > {d'1969-09-12'}",1
listbox$("ZIM",2)

' 2. Datenbank erneut lesen

clearlist
set("SQLDBC",hdb2&)
sqlexec "select * from adress",1
listbox$("dBase",2)

' Beide Datenbanken schließen

set("SQLDBC",hdb1&)
sqldone

set("SQLDBC",hdb2&)
sqldone

waitinput

BTW: Hier sieht man eine Möglichkeit, wie in ODBC mit Datumsfeldern umgegangen werden kann!
Weiterhin viel Spaß beim Testen!

Gruß
Roland




H.-J. Kramm
Datum: 20.09.02 21:01 Antwortenals Email verschicken (HJKramm@Web.de) 


hallo,

na, das ist es doch, was mir gefehlt hat .... (auch mit bug)

daten über artikelnummer vom entfernten server über oracle-odbc abrufen, dann daten über gleiche nummer vom lokalen netz aus einer access-db ... klappt wunderbar.

der aufbau zu oracle dauert so seine 10 sekunden ....
odbc jeweils neu aufbauen ..... da geht die akzeptanz in den keller. aber jetzt flutscht es...

und weil es hier um beta geht: hab es mit oracle, access, d-base durchgepielt .... keine probleme ...



 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!