Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1288to1292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

SQL Create global temporary Table

SQL Create global temporary Table
11.12.2012 19:02:26
Andi
Hallo Guten Abend,
was super auf der Oracle SQL Development Version 3.1.06 läuft, funktioniert in EXCEL nicht.
Datenbank Oracle 11G
MS Engine ADO msadox.dll Version 2.81.3012.0 (xpsp_sp3_gdr.101108-1643)
Mein Connectionstring lautet
"Provider=OraOLEDB.Oracle;Data Source=prod.HaHa;User Id=HAHA;Password=HAHA;"
Der Recordset funktioniert auch mit komplexen SQL Statements.
SQL Temporär erstellet Tabellen mag die MS Engine nicht tun.
Auf der Software Oracle SQL Developer läuft der SQL S Create Table ..
einwandfrei.
Beispiel:
Drop Table Temp_Tabelle
Create global temporary table
Temp_Tabelle
as
Select * from Tabelle
Microsoft Visual Basic Fehler
Laufzeitfehler 2147217900 880040e14
ORA-00933: SQL-Befehl wurde nicht korrekt beendet
für jeden hinweis bin ich dankbar
Gruß Andi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SQL Create global temporary Table
12.12.2012 07:24:28
firmus
Hi Andi,
SQL besteht u.a. aus DDL(data definition Language) and DML(data manipulation language).
Drop table und create table gehören zu DDL, select gehört zu DML.
Standard-ADO unterstützt DDL nicht.
Google mal mit "ADO vs. DDL" dort wird auf eine ADO-extension hingewiesen.
Viel Erfolg,
Gruß
Firmus

AW: SQL Create global temporary Table
12.12.2012 10:30:00
Andi
Hallo Firmus,
vielen Dank für deine kompetente Antwort.
Notwendige Bibliothek
Microsoft ADO Ext. 2.5 for DDL and Security
Microsoft ADO Ext. 2.6 for DDL and Security
SS - include from References dialog
http://msdn.microsoft.com/en-us/library/aa139961(office.10).aspx
http://support.microsoft.com/kb/870962
Dim objCat as ADOX.Catalog
Dim objTable As ADOX.Table
Dim objIndex As ADOX.Index
Set objCat = CreateObject("ADOX.Catalog")
Ich werde nochmals berichten, ob ADOX (X: = Extension) zum Ergebnis führte.
Gruß Andi

Anzeige
AW: SQL Create global temporary Table
12.12.2012 16:51:21
Andi
Hallo Zusammen,
ich verwende bereits die ADO-extension (microsoft ado ext. 2.8 for DDL and Security).
Die Bibliothek beinhaltet die Objekte ADO und ADOX. Letzteres ist die ADO Extension (ADOX).
Mit ADOX kann ich Tabellen, Views oder Proceduren erstellen.
Benötigt wird eine temporäre augelagerte Tabelle oder Cache.
Die Temporäre soll von der rekursiven SQL State (BOM/Stüli) n mal aufgerufen, anstatt n mal neu berechnet werden.
Wie bereits beschrieben, der Oracle SQL Developer kann den SQL Aufruf Create temporary table as T1 (select * from EineTabelle) kompilieren, Excel ADO / ADOX nicht.
Idee: Könnte ich separat anstelle der temp. tabelle einen recordset zur Laufzeit esrtellen, auf der die rekursive SQl zugreift.
Oder kann ich mit ADOX eine locale temporäre View erstellen?
Danke.
Gruß Andi

Anzeige
AW: SQL Create global temporary Table
13.12.2012 18:43:31
firmus
Hi Andi,
ich habe in die angegebenen Links reingesehen.
der nächste Schritt, um hier weiterzukommen ist:
Prüfen der Syntax-Möglichkeiten von ADOX-DDL anhand des Referenz-Handbuches
im Vergleich zur Oracle-Syntax (Das Handbuch sollte von Oracle vorliegen).
Tante Google zeigte mir keinen verwertbaren Link zum ADOX-DDL-Ref.Handbuch.
Vermutlich wird sich dort zeigen, dass
a) Die ADOX-DDL Syntax anders geschrieben sein muss (als Oracle-DDL)
oder
b) diese fachliche Anforderung nicht 1:1 von Oracle nach ADOX umgesetzt werden kann.
In diesem Falle gilt es: Alternativen Ansatz überlegen.
Viel Erfolg,
Firmus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige