QMF Tabelle Q.OBJECT_DATA in DB2

Ähnliche Dokumente
zusammenfassen von Text variablenin einer Variable bei unterschiedlicher Variablenanzahl

Umbenennung von Spaltennamen über Schleife(n)

Import von Text-Dateien. Einzelne Wörter einlesen.

Ansprechen einer Anzahl von Variablen über einen Schleifendurchlauf

Zeilen in SAS-Datensatz einfügen

Mehrere Datensätze zu einem Datensatz zusammenführen

rechtsbündige Leerzeichen mit einlesen im Datastep

Spalten aufsummieren?!

Jede Kombination von 7 Spalten erzeugen

Alter berechnen mit Base SAS

EG 4.2: Pfade zu verlinkten SAS-Files als relative Pfade speichern!?

Zeit-Macro-Variablen, passend zu einem Tag

Änderung der Ordnung der Variablen in den SAS Datensatz

Ermittlung der übereinstimmenden Variablen (-Namen) zweier Datasets

Auslesen von SAS Systeminformationen über die aktuelle Log- Ausgabe

Dynamisch Makros aufrufen

Merge mit nicht eindeutigen by-variablen

Hallo Jessi, wenn ich das. DATA aufg3_b; vari='<.0001'; IF &wil_two_test. le vari THEN pwert=0.0001;

Zugriff aus Oracle via Proc SQL: Performanceprobleme

SUBSTRING - wo liegt mein Fehler?

5.8 Bibliotheken für PostgreSQL

ODS RTF Titel in Spalten linksbündig darstellen

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

SAS BASE LOG Fragen. Antwort, Teil 1

Formatierung beim Einlesen

Wie kann ich die Ausgabe als Excel speichern?

Allman-Einrückungsstil versus 1TBS bei SAS-Base-Programmen

Exportieren in excel sheets

viele ähnliche Datensätze automatisch einlesen

Oracle: Abstrakte Datentypen:

Dateien trennen und zusammenfügen

Der SAS DataStep und die Prozedur SQL Cellent Finance Solutions GmbH Seite: 1

IMPORT / EXPORT Access

Einlesen von Textdateien mit sehr langen Zeilen

Berechnung der Dauer eines SAS Makros?

Wie überprüfen, ob eine Datei existiert?

Berechnung der Arbeitstage

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Fehlermeldung, wenn Anzahl der %do der %end entspricht - was läuft falsch?

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

SPDS-Problem - proc summary auf View mit by-variable - Sortierung wird verlangt

Übersicht der wichtigsten MySQL-Befehle

Oracle 10g Einführung

Datenbanken für Online Untersuchungen

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

MySQL Queries on "Nmap Results"

SAS Daten per Remote SUBMITE vom Großrechner selektieren,

Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators

MySQL, phpmyadmin & SQL. Kurzübersicht

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

SQL (Structured Query Language) Schemata Datentypen

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Failed to transcode data from U_UTF8_CE to U_LATIN9_CE?!

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

PROC GCHART HBAR Zeilenumbruch in Achsenbeschriftung

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Anhang zur Frage Data statement und Proc Statement

PostgreSQL unter Debian Linux

Hilfe bei Programmierung mit SAS

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

PostgreSQL auf Debian System

Folien php/mysql Kurs der Informatikdienste

Installation MySQL Replikationsserver

PHP- Umgang mit Datenbanken (1)

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Abfragen (Queries, Subqueries)

MySQL: Einfaches Rechnen.

Cassandra Query Language (CQL)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Kreuztabelle als Data-Set so wie aus proc tabulate

ARBEITSBLATT ZUR SQL-BEFEHLEN

Die Anweisung create table

Hands-on für UI5-Anwendung auf HANA

Introduction to Data and Knowledge Engineering. 6. Übung SQL

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL: SELECT-Abfragen über mehrere Tabellen (JOINs)

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Chancen und Wachstumsfelder für PostgreSQL

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Oracle & Java HOW TO

ids-system GmbH Tipp #5 STRING_UNITS ab DB FP 4

Bauinformatik 1. Teil 1 / Übungen. Ernst Baeck. Fachgebiet Statik und Dynamik der Flächentragwerke. 31. Mai 2017

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Transkript:

News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS QMF Tabelle Q.OBJECT_DATA in DB2 24 November, 2008-13:23 Wolfgang Hornung wir portieren z.zt. bestehende QMF-Queries nach SAS Base. Die Query wird per Copy&Paste in eine Textdatei gespeichert und folgendermaßen in einem SQL-Passthrough verwendet, was auch gut funktioniert: %macro kvs900(sql %let filrf=myfile %let rc=%sysfunc(filename(filrf,&sql. %let fid=%sysfunc(fopen(&filrf %if &fid > 0 %then %do %while(%sysfunc(fread(&fid = 0 %let rc=%sysfunc(fget(&fid,c,200 &c %let rc=%sysfunc(fclose(&fid %let rc=%sysfunc(filename(filrf %mend kvs900 connect to db2 as mycon ( user = user password = passwort database = db2f owner = CRS create table vnr as select * from connection to mycon (%kvs900("pfad/query.txt" Nun hatte ich die Idee, man könnte auf die am Host abgespeicherten Queries direkt zugreifen. QMF speichert den Code in der Tabelle Q.OBJECT_DATA ab. Nun stellt sich die Frage, wie ich an diese Tabelle herankomme? Wie muss der Libname lauten? Folgendermaßen ist die DDL laut DB2 Developers Guide: CREATE TABLE Q.OBJECT_DATA (OWNER CHAR(8 NOT NULL, NAME VARCHAR(18 NOT NULL, TYPE CHAR(8 NOT NULL, SEQ SMALLINT NOT NULL, APPLDATA LONG VARCHAR

IN DSQDBCTL.DSQTSCT3 Vielen Dank schon einmal für die Hilfe Viele Grüße Wolfgang Hornung Foren: ETL & Base SAS Log in or register to post comments Klappt wohl - vorausgesetzt man kommt auf QBJECT_DATA Hallo Herr Hornung, 27 November, 2008-10:11 StephanFrenzel technisch sollte das klappen... s.u.... vorausgesetzt Ihr DB2-DBA ist bestechlich -... denn soweit ich weiß ist die Tabelle OBJECT_DATA über den DB2-Plan, d.h. das Zugriffsprogramm (z.b. die QMF- Oberfläche autorisiert. Man kann also nicht ohne weiteres mit Nutzerrechten auf die Tabelle zugreifen. Da ich hier auch nicht die entsprechenden Rechte habe, kann ich nur folgendes testen: CREATE TABLE OBJECT_DATA (OWNER CHAR(8 NOT NULL, NAME VARCHAR(18 NOT NULL, TYPE CHAR(8 NOT NULL, SEQ SMALLINT NOT NULL, APPLDATA VARCHAR(200 insert into object_data values ('me','itsname','itstype',1,'select count select appldata into :query from object_data where owner = 'me' and name = 'itsname' and type = 'itstype' and seq = 1 &query.... funktioniert. Also müßte nach menschlichem Ermessen auch Folgendes funktionieren:

connect to db2 as mycon (... select appldata into :query from select * from connection to mycon ( select appldata from q.object_data where owner = 'me' and name = 'itsname' and type = 'itstype' and seq create table vnr as select * from connection to mycon (&query. Gruß Stephan Frenzel Log in or register to post comments Direkter Tabellenzugriff auf Q.OBJECT_DATA Hallo Herr Frenzel, 12 December, 2008-14:57 Wolfgang Hornung stimmt, so funktioniert es. Ich dachte man müsste in irgendeiner Weise eine Bibliothek zuweisen, um die Tabelle anzusprechen. Vielen Dank für den Tipp! Da in unserer IT-Landschaft die produktive von Testumgebung getrennt ist, und diese Tabelle Q.OBJECT_DATA nur von der Testseite aus ansprechbar ist, musste ich den Code in eine Textdatei reinschreiben, und diese dann auf die produktive Umgebung rüberschaufeln. Ich habe das folgendermaßen gelöst:

%macro qmf(pgm connect to db2 as mycon (... create table qmf_coding as select name, seq /* In dem Feld APPLDATA stehen mehrere Zeilen des SQL-Codes. Die Länge des Feldes ist 79(Länge der Codezeile*45=3555, zumindest in meinem Fall. */ %do i= 1 %to 45, input(t&i.,$ebcdic79. as t&i. from connection to mycon (select name, seq %do i= 1 %to 45, substr(appldata,%eval((&i.-1*79+1,79 as t&i. from q.object_data where owner = %bquote('&sysuserid.' and type = 'QUERY' and name = %bquote('&pgm.' data kommentare_weg(keep=name query set qmf_coding array _code(1:45 $ t1-t45 do seq=1 to 45 query=_code(seq if query ne '' then do output end end run filename coding "/home/&sysuserid./text/&pgm..txt" lrecl=79 data _null_ set kommentare_weg file coding put query $79. run %mend qmf %qmf(tfkomb# Diese erzeugte Textdatei kann dann aber mit dem Makro aus meiner ursprünglichen Anfrage in der Passthrough-Query verwendet werden. Vielen Dank nochmal für den Tipp Wolfgang Hornung

Log in or register to post comments