DB-Zugriffe und Bibliotheksliste (Naming Conventions)

sql
data

#1

Auf der IBM i gibt es zwei unterschiedliche Naming Conventions.

Systemschema (SYS)

Der qualifizierte Aufruf erfolgt hierbei mit MYLIB/MYFILE.

Die Auflösung von unqualifizierten Aufrufen geschieht wie folgt:

  • Wenn eine DefaultCollection existiert wird in dieser gesucht.
  • Gibt es Current Library, dann wird diese durchsucht.
  • Gibt es keine Current Library, dann wird die LibraryList verwendet.

SQL-Schema (SQL)

Der qualifizierte Aufruf erfolgt hierbei mit MYLIB.MYFILE.

Die Auflösung von unqualifizierten Aufrufen geschieht wie folgt:

  • Wenn eine DefaultCollection existiert wird in dieser gesucht.
  • Gibt es keine DefaultCollection wird in einer Bibliothek mit dem Namen des Users gesucht
  • Die LibraryList wird hierfür nicht verwendet.

Der iNow UI Client verwendet normalerweise das SQL-Schema.
Mit der folgende Codezeile kann man auf das Systemschema umschalten.

ML.DB2.NamingConvention = MLSoft.INext.Data.Host.NamingConvention.System;

Dies wird allerdings nicht empfohlen, da dies den kompletten Client betrifft und Seiteneffekte haben kann.
Stattdessen wird empfohlen in diesem Fall mit einer eigenen DB-Connection zu arbeiten.

Quellen (englisch)
MC PRESS Online - Techtip
IBM - OleDB Connection Properties
IBM - Default Library Settings