Direkt zum Hauptinhalt

In Datenbank schreiben

Im Standard kann Qlik keine Daten in Datenbanken schreiben. Um diese Einschränkung zu deaktivieren, müssen sog. Non Select Query aktiviert werden. Dazu muss die Konfigurationsdatei QvOdbcConnectorPackage.exe.config wie folgt geändert werden. In der Konfigurationsdatei nach allow-nonselect-queries suchen und den Wert von false auf true ändern. Die Datei befindet sich bei Qlik Sense Enterprise unter folgendem Pfad: C:\Common Files\Qlik\Custom Data\QvOdbcConnectorPackage

Danach können u. a. auch WITH ... AS und EXEC Statements ausgeführt werden sowie INSERT und UPDATE.

Quelle: Qlik Documentation: Executing non-SELECT statements

Beispiel 1

SQL INSERT INTO [dbo].[Table_1]
  ([val])
VALUES
  (123)
!EXECUTE_NON_SELECT_QUERY;

Beispiel 2

LIB CONNECT TO 'MongoDB_log01';
LOAD * RESIDENT XML;
LET v_noRows = NoOfRows('XML');
FOR v_row = 0 TO $(v_noRows) - 1
  LET v_ID= v_row;
  LET v_Name= Peek('Name',v_row);
  LET v_LogAktiv = Peek('LogAktiv',v_row);
  SQL INSERT INTO Log.[tmp_test] ([_id],[Name],[LogAktiv])
  VALUES ('$(v_ID)', '$(v_Name)','$(v_LogAktiv)')
  !EXECUTE_NON_SELECT_QUERY;
NEXT;