image2data

Der Tech-Blog

...weitermachen, wo OCR aufhört

Plugin "Datenbankanbindung" (i2dxDB)

Feb 112015

Über das image2data-Plugin "Datenbankanbindung" (i2dxDB) können Action- und Non-Action-Queries gegen beliebige Datenbanken ausgeführt werden. Voraussetzung dafür ist natürlich ein installierter OLEDB- bzw. ODBC-Treiber. Das folgende Skript öffnet eine Datenbank, führt einen SQL aus, iteriert über die Ergebnismenge und gibt das eine selektierte Feld pro Datensatz im Debugfenster aus.

Der Datenbank-Verbindungsstring ("Provider=MSDASQL.1;Password...") kann über ein mitgeliefertes Tool aufgebaut werden.

// **************************************************************
// * sample_i2dxdb.i2dspt                                       *
// *                                                            *
// * Sample script for the i2dxDB (database access) plugin      *
// * REQUIRES THE INSTALLED PLUGIN TO COMPILE AND RUN!          *
// *                                                            *
// * Press F9 to execute the code or F7/F8 to debug it          *
// *                                                            *
// * Contact www.norpa.eu if the plugin is required but missing *
// **************************************************************
 
{$I i2dxDB}
 
var
  iQueryRecordCount: Integer;
  iCount: Integer;
 
  sQueryResult: String;
  sFieldValue: String;
 
begin
  // Use "i2dxDBConnStrBuilder.exe" in the bin-folder to build the connection string
  i2dxDBRunQuery('Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=sysdba;Data Source=ODBCTest', 
                 'SELECT * FROM new_table', sQueryResult, iQueryRecordCount);
 
  if iQueryRecordCount = 0 then
    i2dCancelProcess('The query returned no records');
 
  // Iterate over all records and retrieve the value of the datafield "customer_name"
  for iCount := 0 to iQueryRecordCount - 1 do begin
    i2dxDBGetQueryFieldValue(sQueryResult, 'customer_name', iCount, sFieldValue);
    i2dDebugOut(sFieldValue);
  end;
end.

Atom

powered by Nibbleblog