SQLJ.DB2_INSTALL_JAR gespeicherte Prozedur

SQLJ.DB2_INSTALL_JAR legt eine neue Definition einer JAR-Datei im lokalen Db2® -Katalog oder in einem entfernten Db2 -Katalog an.

Um eine JAR-Datei an einem entfernten Standort zu installieren, müssen Sie eine CONNECT-Anweisung ausführen, um eine Verbindung zu diesem Standort herzustellen, bevor Sie SQLJ.DB2_INSTALL_JAR aufrufen.

SQLJ.DB2_INSTALL_JAR ermächtigung

Für den Aufruf von SQLJ.DB2_INSTALL_JAR muss die Berechtigung mindestens einen der folgenden Punkte enthalten:
  • EXECUTE-Berechtigung für SQLJ.DB2_INSTALL_JAR
  • Eigentum an SQLJ.DB2_INSTALL_JAR
  • Berechtigung SYSADM
Die Berechtigungen müssen auch die Befugnis zur Installation eines JAR umfassen, der mindestens einen der folgenden Punkte enthält:
  • CREATEIN-Privileg auf dem Schema der JAR

    Die Autorisierungs-ID, die mit dem Schemanamen übereinstimmt, hat implizit die CREATEIN-Berechtigung für das Schema.

  • Berechtigung SYSADM oder SYSCTRL

Privilegiert:

Wenn die CALL-Anweisung in ein Anwendungsprogramm eingebettet ist, besteht die Berechtigung aus den Privilegien, die durch die Berechtigungs-ID des Eigentümers des Plans oder Pakets gehalten werden. Wenn die Anweisung dynamisch vorbereitet wird, besteht die Berechtigung aus den Berechtigungen, die von den Autorisierungs-IDs des Prozesses gehalten werden.

SQLJ.DB2_INSTALL_JAR Syntax

Syntaxdiagramm lesenÜberspringe das visuelle Syntaxdiagramm CALL SQLJ.DB2_INSTALL_JAR ( Glas-Positionierer, JAR-Name, bereitstellen )

SQLJ.DB2_INSTALL_JAR parameter

JAR-Locator
Ein BLOB-Locator-Eingabeparameter, der auf die JAR-Datei verweist, die im Db2 -Katalog installiert werden soll.
JAR-Name
Ein VARCHAR(257)-Eingabeparameter, der den Db2 -Namen des JAR in der Form schema.JAR-id oder JAR-ID. JAR-Name ist der Name, den Sie verwenden, wenn Sie sich in SQL-Anweisungen auf die JAR beziehen. Wenn Sie "schema" weglassen, verwendet Db2 die SQL-Autorisierungs-ID, die sich im Spezialregister "CURRENT SCHEMA" befindet. Der Eigentümer des JAR ist die Autorisierungs-ID im Spezialregister CURRENT SQLID.
bereitstellen
Ein INTEGER-Eingabeparameter, der angibt, ob nach der Installation der JAR-Datei weitere Aktionen ausgeführt werden sollen. Zusätzliche Aktionen werden nicht unterstützt, daher ist dieser Wert 0.

SQLJ.DB2_INSTALL_JAR beispiel

Angenommen, Sie möchten die JAR-Datei installieren, die sich im Pfad /u/db2inst3/apps/BUILDPLAN/BUILDPLAN.jar befindet. Sie möchten die JAR-Datei in SQL-Anweisungen als DB2INST3.BUILDPLAN bezeichnen. Das folgende Java™-Programm installiert diese JAR-Datei.

import java.sql.*; // JDBC classes
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
class SimpleInstallJar
{
  public static void main (String argv[])
  {
    String url = "jdbc:db2://sysmvs1.stl.ibm.com:5021";
    String jarname = "DB2INST3.BUILDPLAN";
    String jarfile = 
      "/u/db2inst3/apps/BUILDPLAN/BUILDPLAN.jar";
    try
    {
      Class.forName ("com.ibm.db2.jcc.DB2Driver").newInstance ();
      Connection con = 
        DriverManager.getConnection(url, "MYID", "MYPW");
      File aFile = new File(jarfile);
      FileInputStream inputStream = new FileInputStream(aFile);
      CallableStatement stmt;
      String sql = "Call SQLJ.DB2_INSTALL_JAR(?, ?, ?)";
      stmt = con.prepareCall(sql);
      stmt.setBinaryStream(1, inputStream, (int)aFile.length());
      stmt.setString(2, jarname);
      stmt.setInt(3, 0);
      boolean isrs = stmt.execute();
      stmt.close();
      System.out.println("Installation of JAR succeeded");
      con.commit();
      con.close();
    }
    catch (Exception e)
    {
      System.out.println("Installation of JAR failed");
      e.printStackTrace ();
    }
  }
}