Über die HDBCOM können SQL-Abfragen sowohl gegen die HDB als auch gegen entfernte Datenbanken ausgeführt werden.
1.) Abfragen gegen entfernte Datenbanken
Wenn SQL-Abfragen gegen entfernte Datenbanken ausgeführt werden sollen, müssen sowohl die zu befragende Datenbank als auch der SQL-Server als Objekte der Klassen "SQLDatabase" bzw. "SQLServer" in der HDB eingetragen sein und es müssen Zugriffs-Credentials zumindest an einem der beiden HDB-Objekte hinterlegt werden.
Beispiel für SQL-Abfragen auf entfernte Datenbanken:
set oHDB = CreateObject("HDBCom.ComHDB")
set oSQLDatabase = oHDB.GetObjectbyPath("SQLServer(cname=SQL1)|SQLDatabase(cname=Test_DB)")
set oSQL = CreateObject("HDBCom.ClsSQLDB")
set oSQL.SQLDatabase = oSQLDatabase
sScalar = oSQL.SQLExecuteScalar("select [Id] from tblObject where CName='gschuel'")
sMulti = oSQL.SQLExecuteMulti("Select top 10 id,cname,enabled from tblObject")
sExecute = oSQL.SQLExecuteNonQuery("Update tblParameter set [value] = 0 where [name] = 'DispatcherReduce'")
Ergebnisse der Methode SQLExecuteMulti:
Zeilen kommen von "|" getrennt zurück, Spalten getrennt durch "~"
2.) Abfragen gegen die HDB
Wenn über die HDBCOM SQL-Abfragen gegen die HDB ausgeführt werden, ist es nicht notwendig, dass die Datenbank und der sQL-Server als Objekte in der HDB vorhanden sind.
Daher ist auch die vorherige Instanzierung der Datenbank nicht notwendig.
Beispiel für SQL-Abfragen gegen die HDB:
set oSQL = oHDB.GetSQLDB
sScalar = oSQL.SQLExecuteScalar("select [Id] from tblObject where CName='gschuel'")
sMulti = oSQL.SQLExecuteMulti("Select top 10 id,cname,enabled from tblObject")
sExecute = oSQL.SQLExecuteNonQuery("Update tblParameter set [value] = 0 where [name] = 'DispatcherReduce'")
Ergebnisse der Methode SQLExecuteMulti:
Zeilen kommen von "|" getrennt zurück, Spalten getrennt durch "~"
Bilder 0 | ||
---|---|---|
Es sind keine Bilder in der Galerie vorhanden. |