Montag, 8. März 2010

USB Stick ohne Floppy bootfähig machen

Man braucht für diese Methode eigentlich eine startfähige Diskette im Laufwerk,als Ersatz kann man Virtual Floppy Drive verwenden.
  1. ZIP-Datei an beliebiger Stelle entpacken
  2. VFDWIN.EXE als Administrator starten
  3. unter Driver auf Start klicken
  4. bei Drive 0 oder Drive 1 mittels Change den Laufwerksbuchstaben auf A setzen
  5. Open und dann Create klicken (Image File bleibt leer)
  6. im Explorer den Arbeitsplatz öffnen
  7. Rechtsklick auf 3½-Diskette A - Formatieren - MS-DOS Startdiskette erstellen

Systemdateien auf den Stick übertragen

  1. HP USB Disk Storage Format Tool installieren
  2. USB Stick einstecken
  3. HP Tool starten
  4. Bei Device den Stick wählen
  5. Häkchen bei Create DOS Startup Diskusing DOS System Files located at A:\ machen

USB Stick ohne Floppy bootfähig machen

Man braucht für diese Methode eigentlich eine startfähige Diskette im Laufwerk,als Ersatz kann man Virtual Floppy Drive verwenden.
  1. ZIP-Datei an beliebiger Stelle entpacken
  2. VFDWIN.EXE als Administrator starten
  3. unter Driver auf Start klicken
  4. bei Drive 0 oder Drive 1 mittels Change den Laufwerksbuchstaben auf A setzen
  5. Open und dann Create klicken (Image File bleibt leer)
  6. im Explorer den Arbeitsplatz öffnen
  7. Rechtsklick auf 3½-Diskette A - Formatieren - MS-DOS Startdiskette erstellen

Systemdateien auf den Stick übertragen

  1. HP USB Disk Storage Format Tool installieren
  2. USB Stick einstecken
  3. HP Tool starten
  4. Bei Device den Stick wählen
  5. Häkchen bei Create DOS Startup Diskusing DOS System Files located at A:\ machen

Mittwoch, 3. März 2010

COMA: Cron-Job einrichten

Als erstes erstellt man das Makro, welches per Cron aufgerufen werden soll.
Danach sucht man sich in der Datenbank die Tabelle W_CJ.
In die Spalte CJ_FKT trägt man den Namen des Makros ein.
Der Eintrag in die Spalte CJ_EXE besteht aus 4 Ziffern, die ersten beiden geben die volle Stunde an, in der das Makro gestartet wird (00 - 23).
Die beiden letzten stehen für den Tag im Monat an dem man das Makro ausführen möchte (01 - 31), 00 steht dabei für täglich.
In der Spalte CJ_LAST_EXE wird das Datum gesetzt an dem der Job zum letzten Mal ausgeführt wurde.

COMA: Cron-Job einrichten

Als erstes erstellt man das Makro, welches per Cron aufgerufen werden soll.
Danach sucht man sich in der Datenbank die Tabelle W_CJ.
In die Spalte CJ_FKT trägt man den Namen des Makros ein.
Der Eintrag in die Spalte CJ_EXE besteht aus 4 Ziffern, die ersten beiden geben die volle Stunde an, in der das Makro gestartet wird (00 - 23).
Die beiden letzten stehen für den Tag im Monat an dem man das Makro ausführen möchte (01 - 31), 00 steht dabei für täglich.
In der Spalte CJ_LAST_EXE wird das Datum gesetzt an dem der Job zum letzten Mal ausgeführt wurde.

Sonntag, 28. Februar 2010

Oracle: Autoincrement Workarounds

Da ORACLE den z.B. aus MySQL bekannten Datentyp auto_increment nicht kennt, nachfolgend zwei Möglichkeiten das auch in Oracle zu ermöglichen.

Tabelle für die Beispiele


create table teach_clients
(
id_clients number not null,
vorname varchar2(255),
zuname varchar2(255) not null,
geburtsdatum date,
constraint teach_clients_pk primary key
(
id_clients
)
enable
)

Unterabfrage mit Aggregatfunktion


insert into teach_clients
values
(
(
select
case
when max(id_clients) >= 1
then to_char(max(id_clients) + 1)
else to_char(1)
end
from teach_clients
),
'René',
'Tuchscherer',
'10.02.1963'
)

Trigger und Sequenz

Man erzeugt zwei zusätzliche Datenbankobjekte, eine Sequence und einen Trigger. Die Sequenz erzeugt die einzusetzenden Werte, der before-insert Trigger sorgt dafür, dass der neue Wert als erstes in der neuen Zeile landet.

-- die Sequenz erzeugen
create sequence id_clients_seq
start with 1
increment by 1
nomaxvalue;

-- den Trigger erzeugen
create trigger id_clients_trigger
before insert on teach_clients
for each row
begin
select id_clients_seq.nextval
into :new.id_client
from dual;
end;
Man kann statt start with 1 auch eine andere Zahl einsetzen, mit der begonnen werden soll.Das increment by 1 kann man eigentlich weglassen, weil es die Default-Einstellung ist.Der Parameter nomaxvalue sagt der Sequence, das sie für immer und ewig zu inkrementieren hat und nicht an irgendeinem Wert ein Reset machen soll.

Es kann übrigens durchaus sein, dass Zahlen "übersprungen" werden, weil sie von Oracle im Cache gehalten werden, um die Eindeutigkeit zu sichern. Wenn man also lückenlos aufsteigende Nummern haben muss, wäre dieser Ansatz nicht ausreichend.

Oracle: Autoincrement Workarounds

Da ORACLE den z.B. aus MySQL bekannten Datentyp auto_increment nicht kennt, nachfolgend zwei Möglichkeiten das auch in Oracle zu ermöglichen.

Tabelle für die Beispiele


create table teach_clients
(
id_clients number not null,
vorname varchar2(255),
zuname varchar2(255) not null,
geburtsdatum date,
constraint teach_clients_pk primary key
(
id_clients
)
enable
)

Unterabfrage mit Aggregatfunktion


insert into teach_clients
values
(
(
select
case
when max(id_clients) >= 1
then to_char(max(id_clients) + 1)
else to_char(1)
end
from teach_clients
),
'René',
'Tuchscherer',
'10.02.1963'
)

Trigger und Sequenz

Man erzeugt zwei zusätzliche Datenbankobjekte, eine Sequence und einen Trigger. Die Sequenz erzeugt die einzusetzenden Werte, der before-insert Trigger sorgt dafür, dass der neue Wert als erstes in der neuen Zeile landet.

-- die Sequenz erzeugen
create sequence id_clients_seq
start with 1
increment by 1
nomaxvalue;

-- den Trigger erzeugen
create trigger id_clients_trigger
before insert on teach_clients
for each row
begin
select id_clients_seq.nextval
into :new.id_client
from dual;
end;
Man kann statt start with 1 auch eine andere Zahl einsetzen, mit der begonnen werden soll.Das increment by 1 kann man eigentlich weglassen, weil es die Default-Einstellung ist.Der Parameter nomaxvalue sagt der Sequence, das sie für immer und ewig zu inkrementieren hat und nicht an irgendeinem Wert ein Reset machen soll.

Es kann übrigens durchaus sein, dass Zahlen "übersprungen" werden, weil sie von Oracle im Cache gehalten werden, um die Eindeutigkeit zu sichern. Wenn man also lückenlos aufsteigende Nummern haben muss, wäre dieser Ansatz nicht ausreichend.

Mittwoch, 20. Januar 2010

COMA: Angemeldeten User ermitteln


SELECT a.lid, b.login_name FROM web.wsess a, web.wlogin b WHERE sid = $sess_id AND a.lid = b.lid