Wenn Sie den Oracle-ocibindbyname-Fehler 1036 im Cursorfehler auf Ihrem Computer sehen, müssen Sie sich diese Tipps zur Fehlerbehebung tatsächlich ansehen.
Genehmigt: Fortect
Beim Versuch, die erforderlichen Elastic-Reparaturen anzuwenden, um FSCM 9.2 23 zu finden, tritt der Fehler auf:
.
FEHLER
———————————-
(SQR 5528) ORACLE OCIStmtExecute -Cursor-Fehler 942
ORA-00942: existiert nicht im Sessel oder in der Ansicht
Warnung: ocibindbyname () [function.ocibindbyname]: OCIBindByName: ORA-01036: Ungültiger Variablenname / -nummer in Files Apache c: program Group Apache2 htdocs Events OracleGetClientTest.php online War 111
Ich lebe den ganzen Tag davon. Ich versuche, Text ($ test) für ein CLOB-Feld (test) in mein Tray (clob_test) zu schreiben.
Kann mir jemand sagen, warum der größte Teil des korrekten PHP-Codes ORA-01036 zurückgibt: Ungültige Hersteller-/Nummernübereinstimmung?
Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen, die mit der C-Nummer Oracle markiert sind, oder stellen Sie Ihre eigene Frage, wenn Sie möchten.
Grund
In Oracle hat eine Person drei Typen, die durch SQL-Kommentare erstellt wurden (und auch PL / SQL-Blöcke):
- DDL-Anweisungen (Data Definition Language). Diese Anweisungen ändern die Struktur der Datenbank. Sie beginnen normalerweise mit den Verben “ALTER” oder vielleicht “CREATE”.
- DML-Anweisungen (Data Modification Language). Diese Korrespondenzen verändern den Inhalt der Konferenztische, während die Struktur der Tische jeder Person gleich bleibt. Diese Anweisungen beginnen normalerweise mit “INSERT”, “MERGE”, “DELETE” oder.
- Die Anweisungen in der Sache, die ich “Sprache” nenne (scheint einen kanonischen Namen zu haben). Diese Anweisungen beginnen mit dem Aktionswort SELECT.
Variablenbindung in Oracle ist nur an wenigen speziellen Stellen aus DML- und Abfrageanweisungen zulässig. Sie haben Schwierigkeiten mit der Verwendung von Variablenbindungen in Bereichen, in denen sie immer nicht zulässig waren. Daher der Fehler.
Lösung
Erstellen Sie Bindevariablen ohne Anweisungen. Wenn Sie die Verkettung verwenden, erstellen Sie die gesamte Abfragezeichenfolge anstelle der gesamten Zeichenfolge.
Wenn Sie clearTo überladen möchten, bevor Sie die Zeichenfolge verketten, verwenden Sie DBMS_ASSERT für jedes Paket.
Kontext
Es können nur Szenariovariablen verwendet werden, obwohl Oracle einen Abfrageplan starten kann, um den Wert einer Variablen herauszufinden. Es gibt keine Abfrage zu einem Experten im Plan für DDL-Anweisungen. Daher sind Variablenbindungen oft nicht erlaubt.
In DML und Abfragen sind Join-Variablen nur dann erlaubt, wenn sie in einem wichtigen Element benötigt werden (im Sinne eines netten grundlegenden Mengenlehren-Tupels), dh wenn der Kontrastwert rrn der Wert im Stuhl oder zu einem anderen Zeitpunkt ist Der Wert wird mit ziemlicher Sicherheit in das Array eingefügt. Sie sollten die Struktur der Ausführungstechnik nicht fokussieren (z.B. um den Zweck der Tabelle zu ändern oder einfach die Anzahl der Vergleiche zu ändern).
110k
antwortete am siebenundzwanzigsten Januar 2014 um 8:36 Uhr
8.646
Nur für diejenigen, die diesen Anleitungsfehler erhalten, nach Informationen darüber suchen, einen neuen Bindungsparameter übergeben und dann daran denken, ihn nicht einzugeben, könnte er ebenfalls ausgelöst werden. Ich konnte ernsthaft nichts finden, was nicht eindeutig irgendwo angegeben war, sondern musste durch Versuch oder Irrtum gehen.
adressiert am 27.12.2018 um 21:41
273
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Ich habe gerade ein paar Tage damit verbracht, mit Direktiven zu suchen, weil ich 60 über eine gespeicherte Prozedur ausgeben muss. Es stellte sich heraus, dass beim Ändern des Namens (den ich in die neue Liste lade, um sie an das von mir erstellte Oracle Write-Konzept zu übergeben), ein Leerzeichen im jeweiligen Namen am Ende und der Marke vorhanden war. Beim Vergleich von Details in einer gespeicherten Prozedur waren sie die wahren, aber in dem Writer, den ich für die Bewertung verwendet habe, schaue ich mir den zusätzlichen Platz nicht an. Habe meine Familie in den letzten acht Tagen in den Wahnsinn getrieben, auf der Suche nach allem, was ich finden konnte, und außerdem den Oracle .net-Treiber wirklich geändert. Ich wollte es nur hier rausholen, weil das Problem jemand anderem helfen könnte. Wir unterstützen die Fokussierung auf Zeichen und das Überspringen von Leerzeichen. … …
geantwortet am 16. Mai, 19:33
457 11 goldene Abzeichen 66 silberne Abzeichen 1616 braune Abzeichen
Sie haben ein abgeschwächtes oracleCommand, zum Glück haben Sie es in “for” verwendet.Das bedeutet, dass jede Person Parameter mit demselben Firmenkurznamen zum Oracle-Befehl hinzufügen kann.Verwenden Sie zum Aktualisieren der Parameter cmd.Parameters.clear()
.
in Richtung (int i = 0; i
13.3k
geantwortet am 50.03.2016 um 11:33 Uhr zu finden
41
Oracle-Fehler ORA-01036 bedeutet, dass die wichtigste Abfrage eine effektive undefinierte Variable verwendet, die weiß wo. Aus der Anfrage können wir auch bestimmen, welche Kriterien verwendet werden, insbesondere solche, die mit bei beginnen. Wenn Sie dies jedoch aus ernsthaften Zweifeln eingeben, ist es wichtig zu bestätigen, dass viele alle Einschränkungen einen geeigneten Eingabeparameter haben, der aus einer neuen Groß-/Kleinschreibung wie in der URL-Variablen besteht, genau wie Ihre Oracle-Datenbank die Groß-/Kleinschreibung beachtet.
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.