Toon posts:

MS access koppelen aan Oracle tabel

Pagina: 1
Acties:
  • 289 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben in MS Access bezig met het koppelen van een tabel die in Oracle staat, maar ik krijg hierbij een foutmelding dat MS Acces niet meer dan 32 indexen aan kan.

Nu vraag ik mij af of hier een oplossing voor is of dat dit probleem anders te omzeilen is. Als workaround zit ik dan bijv. te denken aan de Oracle tabel te koppelen aan een nieuw aan te maken SQL database (/tabel). Vervolgens weer MS Access koppelen aan deze nieuwe SQL tabel.

Kheb echter geen idee of dan hiermee het 'MS Access' -probleem is opgelost. Ook zie ik in SQL alleen maar een import en export functie, maar dan wil ik de tabellen alleen maar aan elkaar koppelen...

Wie kan me hier meer over vertellen?

[ Voor 4% gewijzigd door Verwijderd op 15-06-2005 15:14 ]


  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 19-12 22:11

ripexx

bibs

Beetje wazig verhaal, maar hoe connect je naat Acces, ik neem aan via ODBC. En over welke SQL database hebben we het dan? Microsoft SQL server? Of een ander type database.

Verder vind ik persoonlijk 32 indexen wel veel voor een tabel? Is die tabel onderdeel van een aggerated dataware house oid?

buit is binnen sukkel


Verwijderd

Topicstarter
MS Access koppelen we idd via een ODBC koppeling. Het gaat overigens om Microsoft SQL Server. De te koppelen Oracle -tabel is een tabel van ons nieuwe pakket.

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 19-12 22:11

ripexx

bibs

Tja, ik weet niet wat de fysieke beperkingen van Access zijn maar daar zal genoeg over te vinden zijn bij Microsoft. Verder is het wellicht mogelijk om een andere ODBC driver te gebruiken, want daar kan ook nog een bottleneck in zitten. Maar waarom kies je voor Access en niet gewoon direct voor Oracle? Want als Access echt het probleem blijkt te zijn zal je toch voor iets anders moeten kiezen.

Verder kan je makelijk een tabel naar SQL server halen, zeker via DTS is dat vrij eenvoudig te doen.

buit is binnen sukkel


Verwijderd

Ik begrijp niet wat je bedoelt met dat Access niet meer dan 32 indexen aan kan. Wanneer je een tabel koppelt (vanuit Access naar MS SQL of Oracle of whatever), dan blijven die indexen toch in de db? En dus heeft Access daar niets mee van doen. Toch?

Als je een PassThrough-query op de tabel uitvoert, dan worden de indexen door de DBMS gebruikt. Dus je hebt er wel profijt van, alleen zitten ze in de DBMS en blijven ze daar.

Verwijderd

Topicstarter
In MS Access krijg ik de volgende melding:
"De bewerking is mislukt. Er zijn te veel indexen voor tabel XXXXXXXXX. Verwijder enkele indexen voor de tabel en probeer de bewerking nogmaals."

Verwijderd

Ja, je hebt gelijk, ook de indexen worden mee-geimporteerd. Ik denk dat truc Access->MSSQL->Oracle ook niet gaat werken, je houdt het niet zomaar voor de gek. Maar het is natuurlijk het proberen waard.

Omdat je alleen kon importeren/exporteren, heet zo'n koppeling tussen MSSQL en Oracle niet een replication ofzo? Nou ja, daar heb ik ook weinig kaas van gegeten dus sorry.

Verwijderd

Topicstarter
Hey Henk, iig bedankt voor het meedenken! RipeXX had het al over DTS (Data Transformation Services), misschien dat je dat bedoeld...

Om hier nog even op terug te komen (door RipeXX):
"Verder kan je makelijk een tabel naar SQL server halen, zeker via DTS is dat vrij eenvoudig te doen."

Bestaat er dan ook de mogelijkheid om de tabellen gelijk aan elkaar te houden (bv. synchronisatie)?
Beter is nog: de complete Oracle database linken aan de SQL Server...!!

[ Voor 18% gewijzigd door Verwijderd op 15-06-2005 17:03 ]


  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 19-12 22:11

ripexx

bibs

DTS is een transformatie tool (import en export) waarmee je zeer eenvoudige kan connecten naar andere datasources. Ik gebruik het bijvoorbeeld om Oracle databases te converteren naar SQL server of lokale datawarehouse tabellen te maken.

Replicatie tussen SQL server en Oracle ken ik niet en zal denk ik ook niet gaan werken. Wat je wel kan proberen is een view te maken en die in access te laden ik weet niet of dat je probleem oplost maar het zal preformance technisch niet de meest elegante oplossing zijn. Veel meer opties zie ik niet meteen. :)

buit is binnen sukkel


Verwijderd

Topicstarter
Door een view te koppelen in Access zou het idd wel moeten kunnen, maar dat is nu net iets wat we NIET willen. We willen nl ook nog eens velden kunnen aanpassen (dmv een query in Access) :/

  • mdcroon
  • Registratie: Januari 2005
  • Laatst online: 27-01 13:05
Zonder te weten wat het pakket doet is het misschien toch verstandig om eens te kijken of alle indexen wel zinvol zijn. 32 lijkt mij namelijk wel erg veel!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op donderdag 16 juni 2005 @ 15:27:
Door een view te koppelen in Access zou het idd wel moeten kunnen, maar dat is nu net iets wat we NIET willen. We willen nl ook nog eens velden kunnen aanpassen (dmv een query in Access) :/
Waarom zou je een oracle dbase willen aanpassen via een access toepassing??? Helemaal als er al 32 indexen opstaan. Maak een applicatie die direct met oracle praat en vergeet access in dit geval.

Of zet er een of andere tussenlaag tussen ( zoals jij vraagt ) die de hele boel zal vertragen, of zet er een vage applicatie tussen die gewijzigde records in access 1x per uur terugschrijft naar oracle.

Als je uitgangspunt oracle is moet je daar niet een applicatie tussengooien die je data kan veranderen, want dit gaat je zoveel performance kosten dat het waarschijnlijk handiger is om een x aantal indexen te verwijderen uit oracle.

Maar als je er echt voor wilt gaan zou je iets kunnen proberen als msde als tussenlaag, of een complete sql server.

Verwijderd

Verwijderd schreef op donderdag 16 juni 2005 @ 15:27:
Door een view te koppelen in Access zou het idd wel moeten kunnen, maar dat is nu net iets wat we NIET willen. We willen nl ook nog eens velden kunnen aanpassen (dmv een query in Access) :/
Views in Oracle kunnen ook updatable zijn. en ze het niet zijn kan je ze updaten met behulp van INSTEAD OF triggers.
Notes on Updatable Views

An updatable view is one you can use to insert, update, or delete base table rows. You can create a view to be inherently updatable, or you can create an INSTEAD OF trigger on any view to make it updatable.

To learn whether and in what ways the columns of an inherently updatable view can be modified, query the USER_UPDATABLE_COLUMNS data dictionary view. The information displayed by this view is meaningful only for inherently updatable views. For a view to be inherently updatable, the following conditions must be met: ...
lees verder in de oracle doc Create View
Building Complex Updatable Views Using Triggers: Example
Modifying Complex Views (INSTEAD OF Triggers)

Wat zegt Oracle Support over dit probleem?
Pagina: 1