2016-04-22 9 views
0

Unter Bezugnahme auf diese Oracle-Website http://docs.oracle.com/javadb/10.4.2.1/ref/rrefblob.html, habe ich versucht, diese Abfrage ausgeführt wird (aus der oben genannten Seite)Oracle-Datenbank: mit Grenzen gibt Fehler fehlende Klammer blob Mit

create table pictures(name varchar(32) not null primary key, pic blob(16M)); 

Ich erhalte den Fehler

Error starting at line : 1 in command - 
create table pictures(name varchar(32) not null primary key, pic blob(16M)) 
Error report - 
SQL Error: ORA-00907: missing right parenthesis 
00907. 00000 - "missing right parenthesis" 
*Cause:  
*Action: 

Ich kann nicht verstehen, wo genau ein missing parenthesis ist. Kann jemand erklären?

+1

Sie haben eine Dokumentationsverknüpfung für JavaDB veröffentlicht, eine Datenbank-Engine, die zufällig im Besitz der Oracle Corporation ist, keine Verknüpfung für die Oracle-Datenbank-Engine (ebenfalls im Besitz der Oracle Corporation). Angenommen, Sie möchten die Oracle-Datenbank anstelle von JavaDB verwenden, ist die Antwort von @cableload korrekt (obwohl Sie normalerweise 'varchar2' in Oracle anstelle von' varchar' verwenden). Aber Sie möchten sicherstellen, dass Sie sich die Dokumentation für das richtige Produkt ansehen. –

+0

Jetzt erkenne ich meinen Fehler. Die Dokumentation, auf die ich mich bezog, ist eindeutig falsch. – venky

+1

Die Dokumentation ist korrekt. Es bezieht sich nur auf eine andere Datenbank als das, was Sie verwenden. –

Antwort

1

Die Größe des Blobs muss nicht angegeben werden. Deshalb erhalten Sie einen Fehler für die fehlende Klammer.

Diese Anweisung würde funktionieren.

create table pictures(name varchar(32) not null primary key, pic blob); 

Das Orakel doc erklärt alles klar.

+0

Können Sie den spezifischen Teil dieser riesigen Webseite erwähnen, die das klar erklärt? Was wäre die maximale Grenze des Blobs? Was ist, wenn ich ein Höchstlimit erzwingen möchte? – venky

+1

können wir die Größe eines Blobs nicht dekorativ beschränken. Möglicherweise müssen Sie die Einschränkung auf Anwendungsebene erzwingen oder was immer versucht wird, den Lob in die Tabelle einzufügen. – cableload