Avatar billede hjbe Nybegynder
23. december 2005 - 11:04 Der er 9 kommentarer og
1 løsning

Nybegynder og procedurer

Har fået det her tilsendt og ved ikke meget om Oracle:

CREATE OR REPLACE PROCEDURE UDO_MMOBS_EXP_CREATE as
begin
insert into UDO_MMOBJS_EXP(EMPID,OBJECT,TYPE,LNL_BLOB) select EMPID,OBJECT,TYPE,TO_LOB(LNL_BLOB) as LNL_BLOB from MMOBJS;
commit;
end;

CREATE OR REPLACE PROCEDURE UDO_MMOBS_EXP_DELETE as
begin
delete from UDO_MMOBJS_EXP;
commit;
end;

det skulle være 2 procedurer som skulle kunne kaldes ude fra via ODBC med

exec UDO_MMOBS_EXP_CREATE;
og
exec UDO_MMOBS_EXP_DELETE;

Det virker bare ikke.
Har chekket at procedurerne er oprettet, det er de !

men programmet der skal køre de 2 kald går i fejl.

Kan man ikke chekke dem via PL/SQL. ?

Er meget ny i det her :-)
Avatar billede pnielsen Nybegynder
23. december 2005 - 11:28 #1
Har du oprettet de tabeller som den bruger ? MMOBJS, UDO_MMOBJS og UDO_MMOBJS_EXP ?
Kompilere procedurene ?

Hvad fejl får du ?
Avatar billede senj Nybegynder
23. december 2005 - 11:35 #2
Jeg går ud fra at dine procedure er compilede? Evt. fra sql fyr:
desc UDO_MMOBS_EXP_CREATE;

desc UDO_MMOBS_EXP_DELETE;

- så ved du at de er der.

Du afvikler dem fra SQL via

BEGIN
  UDO_MMOBS_EXP_CREATE();
END;
/

osv
Avatar billede Slettet bruger
25. december 2005 - 18:45 #3
fra sqlplus kan du genoversætte dem med

ALTER PROCEDURE UDO_MMOBS_EXP_CREATE;

Hvis fejl, kan du sige SHOW ERR og få linienummer oplyst.

Er din tabel oprettet?

Du logger på sqlplus med SQLPLUS bruger/password@databaseforbindelse
Avatar billede hjbe Nybegynder
02. januar 2006 - 12:05 #4
undskyld jeg har været væk længe.
har fået det til at virke fra plsql.
hvis jeg vil lave en bat fil der skal køres fra windows scheduler skal den så se sådan ud ?

slplus username/password@dataforbindelse
BEGIN
  UDO_MMOBS_EXP_DELETE();
END;
/
BEGIN
  UDO_MMOBS_EXP_CREATE();
END;
/
EXIT

Der sker bare ikke noget, andet end den logger på !
Hvor er fejlen ?
Avatar billede hjbe Nybegynder
02. januar 2006 - 12:06 #5
sku selvfølgelig ha været
sqlplus username/password@databaseforbindelse
Avatar billede Slettet bruger
02. januar 2006 - 17:13 #6
Du bliver nødt til at dele det op i en bat-fil og en script-fil:

1. START_SCRIPT.BAT, med indhold
SQLPLUS USER/PW@CONNECTION SCRIPT.SQL

2. SCRIPT.SQL, med indholdet
BEGIN
...
/
EXIT

Derefter kan du lade windows-scheduler køre bat-filen. Husk at sætte schedulers sti så den kan se script-filen.

god fornøjelse
Avatar billede hjbe Nybegynder
03. januar 2006 - 08:43 #7
Det virker lissom ikke. Der kommer et blink !!

Batfilen:
sqlplus user/pw@connection script.sql

sqript.sql
BEGIN
  UDO_MMOBS_EXP_DELETE();
END;
/
BEGIN
  UDO_MMOBS_EXP_CREATE();
END;
/
EXIT

De ligger i samme bibliotek, og jeg har prøvet at tilføje hele stien til script.sql i batfilen, men det hjalp ikke. Hva kan der være galt.
Hvis jeg kører script.sql fra sqlplus kør den fint.
Avatar billede Slettet bruger
03. januar 2006 - 11:27 #8
Prøv at logge, hvad der sker.

I sql-filen kan du tilføje 'SPOOL HVADSKERDER.LOG' øverst og 'SPOOL OFF' inden 'EXIT'-linien.

I bat-filen kan du skrive
'sqlplus user/pw@connection script.sql > soerensosse.log 2>&1'
Avatar billede hjbe Nybegynder
03. januar 2006 - 12:09 #9
bat file starter åbenbart ikke scriptet.
loggen kom med det her
Format: SQLPLUS [ [<valg>] [<logon>] [<start>] ]
hvor <valgmulighed> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
      <logon>  ::= <username>[/<password>][@<connect_string>] | / | /NOLOG
      <start>  ::= @<URI>|<filnavn>[.<typ>] [<parameter> ...]
    "-H" viser SQL*Plus-versionsbanneret og formatsyntaksen

    "-V" viser SQL*Plus-versionsbanneret
    "-L" forsøger logon én gang
    "-M <o>" bruger HTML-markup-valg <o>
    "-R <n>" bruger begrænset tilstand <n>
    "-S" bruger lydløs tilstand
her er hele batfilen:

SQLPLUS LENEL/MULTIMEDIA@FFLENEL script.SQL >soerensosse.log 2>&1
Avatar billede hjbe Nybegynder
03. januar 2006 - 15:45 #10
Nu virker det !!

Der sku' et @ foran script.sql
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester