2014-10-24 13 views
7

Ich habe in der Lage alle Zeichen auf meinen Passwörtern erfolgreich doppelte Anführungszeichen verwenden mögen:Oracle 12c doppelte Anführungszeichen auf Kennworteinschränkungen

alter user example identified by "weird/@#&'pass\\"; 

Ich habe keine Probleme mit speziellen Ausnahmen hat, auch/0 \ und andere Sonderfälle, die ich vor der Arbeit gescheitert gesehen habe, aber ich kann kein Doppelzitat in meinem Passwort verwenden ("), ich habe es bereits ohne Erfolg versucht.

Ich sehe keine Einschränkungen für die Oracle Reference , gibt es eine Möglichkeit, doppelte Anführungszeichen zu verwenden oder ist dies eine nicht dokumentierte Einschränkung?

+0

Ich denke, es gelten die gleichen Regeln wie für [quotierte Identifikatoren] (http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm): "Angegebene Bezeichner können beliebige Zeichen und Interpunktionszeichen sowie Leerzeichen enthalten. Weder die in Anführungszeichen gesetzten noch die nicht in Anführungszeichen gesetzten Bezeichner dürfen doppelte Anführungszeichen oder das Nullzeichen (\ 0) enthalten. "Sie haben"/0 "als OK angegeben. Haben Sie das gemeint, oder konnten Sie" \ 0 "verwenden? war das eigentlich das Null-Zeichen? –

+0

Ich habe gerade versucht sowohl/0 und \ 0 Arbeit in der Mitte und das Ende der Passwort-Zeichenfolge, ohne Probleme. – Andres

+0

@AlexPoole: ''\ 0'' ist kein" Null-Zeichen " in SQL.Es ist zwei einzelne Zeichen: die \ und die '0. Der Backslash hat keine besondere Bedeutung in SQL-Literalen (zumindest nicht in Standard-SQL oder in Oracle) –

Antwort

5

Du hast gesagt,

aber ich nicht ein doppeltes Anführungszeichen in meinem Passwort (") verwenden können, ich Flucht Zeichen bereits ohne Erfolg versucht haben.

Ich sehe keine Einschränkungen für die Oracle Reference, also gibt es eine Möglichkeit, doppelte Anführungszeichen verwenden oder ist dies eine undokumentierte Einschränkung?

Oracle hat die Ausnahme der double quotation mark (") und die return character im Passwort eindeutig dokumentiert. Zitat von der Dokumentation über IDENTIFIED BY clause,

Passwörter jedes einzelne Byte enthalten kann, multibyte oder spezielle Zeichen oder eine beliebige Kombination von diesen, aus der Datenbank Charakter gesetzt, mit Ausnahme der doppelten Anführungszeichen (. „) und das return Zeichen

So können Sie nicht doppelte Anführungszeichen mark` im Passwort verwenden Sie zwei Arten von Fehlern bekommen würden.

SQL> create user test identified by "hi"hi"; 
create user test identified by "hi"hi" 
            * 
ERROR at line 1: 
ORA-01741: illegal zero-length identifier 


SQL> create user test identified by "hi""hi"; 
create user test identified by "hi""hi" 
           * 
ERROR at line 1: 
ORA-03001: unimplemented feature 


SQL> 
Verwandte Themen