PDA

Vollständige Version anzeigen : Access BE nach ORACLE (?Views?)


<stefan01>
08.01.2002, 11:58
Ich habe gerade mein Access-Backend nach Oracle migriert. Es liegen nun alle Tabellen auf dem Oracle-Server. Soweit kein Problem, Zugriff möglich.
NUN MEIN PROBLEM:
1. Da alle forms,reports,etc. über views (Abfragen) auf die tabellen zugreifen und die Tabellen durch Oracle umbenannt wurden (aus z.B. Kunden wurde DBNAME_Kunden) muss ich nun alle views neu "anlegen". Gibt es hier ein TRICK ?????????
2. Kann ich die views nach Oracle migrieren ??

Bin über jede Hilfe happy.

Stefan

Kurt aus Kienitz
08.01.2002, 12:21
Hallo Stefan,

In Oracle gibt es doch diese Synonyme.
Kannst also für die Tabelle mit Namen DBNAME_Kunde ein Synonym Kunde anlegen und über dieses dein Front-End anbinden.

Dies Sache mit den View's wird da schon ein bischen komplizierter.
Die kannst zwar für jede Abfrage das SQL-Statement rausbekommen aber ob Oracle das versteht :confused:

Dann gibt es auch das Problem, daß man unter Access über einen Abfrage Daten erfassen/bearbeiten kann.
Das ist (meiner Meinung nach) unter Oracle über Views nicht möglich.

<stefan01>
08.01.2002, 12:31
Hallo Kurt,
dein Tipp mit der Benamsung in Oracle ist OK.

Nun noch mal zu den views:
Ich möchte die Abfragen direkt auf Oracle ausführen, aber nicht alle neu auf Oracle anlegen müssen.
Das Einbinden ist dann ja kein Problem (als Tabelle).

Stefan

Kurt aus Kienitz
08.01.2002, 13:01
Hallo Stefan,

Was meinst Du mit Ich möchte die Abfragen direkt auf Oracle ausführen ?

Du willst die Access-Abfragen behalten und lediglich die Oracle-Tabellen verwenden ?
Dann kannst Du diese doch - via ODBC - in Access einbinden/verknüpfen, oder ?

<stefan01>
08.01.2002, 14:27
Hallo Kurt,
sorry, konnte mich erst jetzt wieder melden.

Ich möchte das sowohl die Tabellen, als auch die Abfragen unter Oracle installiert sind.
Im Access-Frontend soll dann auf die Abfragen zurückgegriffen werden. Verknüfung funktioniert wie bei Tabellen.
Ich habe aber bereits ca. 45 Abfragen unter Access erstellt und möchte diese nun zu Oracle migrieren, finde aber keine Lösung.

Stefan

<img src="graemlins/idee.gif" border="0" alt="[Idee]" />

Kurt aus Kienitz
08.01.2002, 14:41
Hallo Stefan,

Probier mal folgenden Code aus:

Sub ExpAbfragen()

Dim AktDb As Database
Dim AktQry As QueryDef
Dim i As Integer

Set AktDb = CurrentDb

'
' Schleife über alle Abfragen der Datenbank
'
For i = 0 To AktDb.QueryDefs.Count - 1
'
' aktuelle Abfrage setzen
'
Set AktQry = AktDb.QueryDefs(i)
'
' Name und SQL-String der Abfrage speichern
'
Open "C:\Temp\" & AktQry.Name & ".sql" For Output As 1
Print #1, "CREATE VIEW " & AktQry.Name & " AS "
Print #1, AktQry.SQL
Close #1

Next i

End Sub

Dieser sollte für jede Abfrage deiner DB eine SQL-Skript (in C:\Tmp) anlegen, mit welchem Du den View unter Oracle anlegen kannst.

Das ist aber ein großes sollte !

<stefan01>
08.01.2002, 14:54
Hallo Kurt,

vielen Dank für Deine Mühe.
Ich werde es ausprobieren und Dir bei Erfolg eine Mail schicken.

Stefan

Buchegger Siegfried
20.03.2002, 13:48
Hallo Leute !

Bei Oracle nicht zu kompliziert denken !
Bindet die Tabellen über ODBC neu ein und bennent diese dann auf den Namen um den Ihr vorher hattet.
Dann funktuionieren alle Abfragen und Formunlare bzw Berichte wieder wie vorher.
Es kann lediglich sein, dass verschiedene Feldnamen dur Oracle etas geändert wurden. Diese muß man dann halt überall nachziehen.
Fertig !

Grüße Sigi <img src="graemlins/top.gif" border="0" alt="[Finger hoch]" />

erwin
20.03.2002, 14:26
Hallo Siegfried...

Also dein Optimismus in Ehren bzgl.
...Dann funktuionieren alle Abfragen und Formunlare bzw Berichte wieder wie vorher....

Bis auf ganz unwesentliche Kleinigkeiten, wie zB. dass Autowerte dann erst NachInsert abgefragt werden können, sowie grob umrissen den in <a href="http://www.microsoft.com/germany/ms/msdnbiblio/artikel/odbc.htm" target="_blank">http://www.microsoft.com/germany/ms/msdnbiblio/artikel/odbc.htm</a>

geschilderten C/S-Unwegsamkeiten ;)

so long erwin...