[SQL] Oracle SQL Plus laden .sql bestand

Pagina: 1
Acties:
  • 122 views sinds 30-01-2008
  • Reageer

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Hoi,

Ik probeer dus een tekst file met sql statements uit te voeren via SQL*Plus dat standaard bij Oralce 8i zit.
Maar ik krijg steeds een invalid character melding en ik heb al vanalles geprobeerd.
Dit is het script:
code:
1
2
3
4
5
6
7
8
9
10
/*
SQL Installatie script
*/
DROP TABLE INTERSHOP_ETS.saleslist;
CREATE TABLE INTERSHOP_ETS.saleslist
(
    productrefpid   VARCHAR2(256),
    itemssold   NUMBER,
    CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
);

En dan krijg ik deze melding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
SQL> 
  1  /*
  2  SQL Installatie script
  3  */
  4  DROP TABLE INTERSHOP_ETS.saleslist;
  5  CREATE TABLE INTERSHOP_ETS.saleslist
  6  (
  7     productrefpid   VARCHAR2(256),
  8     itemssold    NUMBER,
  9     CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
 10* );
 11  /
DROP TABLE INTERSHOP_ETS.saleslist;
                        *
ERROR at line 4:
ORA-00911: invalid character

Als iemand enig idee heeft. Het bestand is gewoon gemaakt in Ultra edit. De SQL statements los uitvoeren is geen probleem.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Meerdere SQL statements in 1 script gaat niet :)
Let op: SQL*Plus statements en PL/SQL statements wel.

Wat je kunt doen is losse SQL scripts maken en deze vanuit een centraal SQL*Plus script aanroepen.

Who is John Galt?


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 10 juni 2002 12:47 schreef justmental het volgende:
Meerdere SQL statements in 1 script gaat niet :)
Niet ?
Humm, volgens mij had ik dat wel eens gedaan :)

Btw, topicstarter, volgens mij heb je een klein foutje met je copy&paste gedaan :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 12:49 schreef ACM het volgende:
Niet ?
Humm, volgens mij had ik dat wel eens gedaan :)

Btw, topicstarter, volgens mij heb je een klein foutje met je copy&paste gedaan :)
Let op mijn "Let op" :)
Als je SQL DML statements hebt dan worden die als PL/SQL beschouwd en werkt het wel.

Who is John Galt?


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 10 juni 2002 12:51 schreef justmental het volgende:
Let op mijn "Let op" :)
Als je SQL DML statements hebt dan worden die als PL/SQL beschouwd en werkt het wel.
Ik meende dat ik toen een script/sql-file had met gewoon een rij queries.

Maar kan zijn dat ik dat anders oplostte, is alweer meer dan een half jaar geleden ofzo

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Hoe maak ik er dan SQL DML statements van ?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:14

TheDane

1.618

wat voor foutmelding krijg je nou ?

bestaat die tabel wel die je eerst wil droppen ?

Verwijderd

werkt dit niet:
code:
1
2
3
4
5
6
7
8
9
DROP TABLE INTERSHOP_ETS.saleslist
/
CREATE TABLE INTERSHOP_ETS.saleslist
(
    productrefpid   VARCHAR2(256),
    itemssold   NUMBER,
    CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
)
/

  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
De foutmelding staat er nu bij.
Hij geeft steeds aan dat de ; aan het einde van een SQL statement niet goed is.
Als ik er niks achter zet dan mist ie een afsluit teken.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 12:55 schreef Frijns.Net het volgende:
Hoe maak ik er dan SQL DML statements van ?
Check mijn eerste post, je statements verander je niet, maar sla je in losse files op.
En een DROP in een DML statement veranderen kan niet ;)

Who is John Galt?


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 21:14

TheDane

1.618

Op maandag 10 juni 2002 12:57 schreef deur het volgende:
werkt dit niet:
code:
1
2
3
4
5
6
7
8
9
DROP TABLE INTERSHOP_ETS.saleslist
/
CREATE TABLE INTERSHOP_ETS.saleslist
(
    productrefpid   VARCHAR2(256),
    itemssold   NUMBER,
    CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
)
/
ja, dit is em,

als je losse sql statements in je sqlplus wil laden, dan moet iedere query / statement gevolgd worden door een /

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 12:57 schreef deur het volgende:
werkt dit niet:
code:
1
2
3
4
5
6
7
8
9
DROP TABLE INTERSHOP_ETS.saleslist
/
CREATE TABLE INTERSHOP_ETS.saleslist
(
    productrefpid   VARCHAR2(256),
    itemssold   NUMBER,
    CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
)
/
Dit werkt in sommige versies.
Door de / wordt de SQL buffer leeggegooid.

Who is John Galt?


  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Als ik deze code copy en paste in SQL Plus dan werkt het:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQL> DROP TABLE INTERSHOP_ETS.saleslist
  2  /

Table dropped.

SQL> CREATE TABLE INTERSHOP_ETS.saleslist
  2  (
  3   productrefpid VARCHAR2(256),
  4   itemssold NUMBER,
  5   CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
  6  )
  7  /

Table created.

Paste ik het echter in een install.sql file dan krijg ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL> 
line 9 truncated.
  1  DROP TABLE INTERSHOP_ETS.saleslist
  2  /
  3  CREATE TABLE INTERSHOP_ETS.saleslist
  4  (
  5   productrefpid VARCHAR2(256),
  6   itemssold NUMBER,
  7   CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
  8* )
  9  /
/
*
ERROR at line 2:
ORA-00933: SQL command not properly ended

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 13:00 schreef Frijns.Net het volgende:
Als ik deze code copy en paste in SQL Plus dan werkt het:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SQL> DROP TABLE INTERSHOP_ETS.saleslist
  2  /

Table dropped.

SQL> CREATE TABLE INTERSHOP_ETS.saleslist
  2  (
  3   productrefpid VARCHAR2(256),
  4   itemssold NUMBER,
  5   CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
  6  )
  7  /

Table created.

Paste ik het echter in een install.sql file dan krijg ik dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SQL> 
line 9 truncated.
  1  DROP TABLE INTERSHOP_ETS.saleslist
  2  /
  3  CREATE TABLE INTERSHOP_ETS.saleslist
  4  (
  5   productrefpid VARCHAR2(256),
  6   itemssold NUMBER,
  7   CONSTRAINT PK_saleslist PRIMARY KEY (productrefpid )
  8* )
  9  /
/
*
ERROR at line 2:
ORA-00933: SQL command not properly ended
Hoe draai je die install?
Met een @install of get install en dan / ?
Met @install werkt dit in sommige versies.

Who is John Galt?


  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Gewoon door het bestand te openen in SQL*Plus.
Dus File > Open in het menu.

Get install.sql geeft dezelfde foutmelding.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 13:04 schreef Frijns.Net het volgende:
Gewoon door het bestand te openen in SQL*Plus.
Dus File > Open in het menu.
Probeer de "@" oplossing dan eens, dit kan wel eens werken.

Who is John Galt?


  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Ik heb het gevonden (hier).
Met 'start <filename>' werkt het zonder problemen.

Geen idee wat er anders is aan start maar dat boeit me niet.

Die @ doet het ook. Is zeker hetzelfe als het 'start' commando.

Bedankt voor de hulp.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 10 juni 2002 13:10 schreef Frijns.Net het volgende:
Ik heb het gevonden (hier).
Met 'start <filename>' werkt het zonder problemen.

Geen idee wat er anders is aan start maar dat boeit me niet.

Bedankt voor de hulp.
start is hetzelfde als "@".
Met een "/" voer je het statement wat in de buffer staat uit.
Met een "get" of een "file/open" lees je je file in de buffer.
Als je dus daarna een "/" doet wil ie de hele buffer in 1x uitvoeren en dat kan niet.

Met de "start" of "@" oplossing start ie je file en wordt bij elke "/" de buffer geleegd.
Dit is er echter pas bij een bepaalde versie in gekomen (geen idee meer welke).

Who is John Galt?


  • rvrbtcpt
  • Registratie: November 2000
  • Laatst online: 05-09 20:46
Gelukkig in deze die ik hier gebruik wel :)
Pagina: 1