[Oracle/DB2]Vergelijkingen tussen versch. soorten databases*

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

  • Mike Jarod
  • Registratie: Januari 2002
  • Niet online
Op mijn werk gebruiken we meerdere 'grote' systemen, die met elkaar vergeleken moeten worden. Voorheen bekeken we alleen de systemen intern op inconsistentie, maar nu willen we ze ook tegen elkaar gaan houden omdat ze met elkaar communiceren, en dus systeem A gelijk moet zijn aan systeem B op bepaalde kritieke punten.

1 systeem slaat zijn gegevens op in een IBM DB2 database. De overige systemen slaan hun gegevens op in een Oracle omgeving. Ik heb geprobeerd om exports van de DB2 omgeving naar een Oracle omgeving te krijgen, maar dat stuit op tegenwerking van de verantwoordelijke personen. Dit is dus geen optie. Ik werk bij een nogal formele/bureaucratische organisatie, dus zal ik voorlopig moeten roeien met de riemen die ik heb.

Om de DB2 omgeving te query-en, heb ik de beschikking tot:
• Crystal Reports
• WinSQL
• MS Access

Om de Oracle omgeving te query-en, heb ik de beschikking tot:
• Toad
• Crystal Reports
• MS Access

Nu wil ik dus graag in 1 applicatie de 2 verschillende typen databases met elkaar vergelijken.

Voordelen/nadelen per beschikbare applicatie:
MS Access. Ondersteunt tegelijktijdige connecties naar de verschillende databases. Ik gebruik veel SQL en de editor hiervan heeft geen text highlighting, vergeet na het saven de linebreaks en ondersteunt zover ik weet geen 'opmerkingen' tussen de code. Voor het simpele koppelen mbv de query GUI is het wel weer handig, maar ik merk al snel dat ik veel dieper wil. Voordeel is dat ik VBScript kan gebruiken, maar dat wil ik liever vermijden omdat ik dat niet meer zo goed kan. Eigenlijk vind ik Access gewoon kut en gebruik het alleen als het niet anders kan.
Toad. Ondersteunt alleen Oracle. Voor de rest een werelds programma met text highlighting en mogelijkheid tot browsen van de verschillende tabellen.
WinSQL. Ondersteunt zowel DB2 als Oracle, maar niet gelijktijdig. Toad vind ik veel fijner, maar als ik persé moet SQL'len op de DB2 omgeving dan gebruik ik dit programma.
Crystal Reports. Ondersteunt tegelijktijdige connecties naar de verschillende databases. Ook een heel goed programma, maar omdat ie puur op rapporten is gericht, af en toe te beperkt.

Nu heb ik als test in Crystal Reports de verschillende databases aan elkaar gekoppeld, en wat gespeeld met queries. Nu blijkt dat dit tergend lang duurt als ik de verschillende omgevingen aan elkaar hang (5 minuten voor 20 records uit een tabel met 250.000 records).

Kortom dit werkt allemaal niet lekker :/

Ik ben op zoek naar ervaringen van anderen hoe dit soort dingen aan te pakken. Ik zit er nu bijna aan te denken om in Access dmv een zooi SELECT INTO statements nieuwe tabellen te maken, en die dan in Access te vergelijken. Voordeel is dat alles dan veel sneller gaat omdat de tabellen dan lokaal in Access staan, nadeel is dat Access imho gewoon een onhandig programma is.

Graag zie ik jullie visie op dit verhaal, of ervaringen uit soortgelijke situaties :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je kunt in Oracle een database link aanleggen naar de DB2 database.
Deze is dan te benaderen als andere 'oracle' database. Zie: hier

Vergelijken kan dan in elke taal/tool die met oracle kan connecten.

Who is John Galt?


Verwijderd

Je zult op de een of andere manier gelijktijdige toegang tot beide databases moeten krijgen. Dus van de door genoemde tools blijven enkel Crystal Reports en Access over. Het nadeel van Crystal Reports is dat het puur bedoelt is voor rapporten. Wil je meer, heeft Access via VBA mogelijkheden die Crystal Report gewoon niet heeft. Dus met dit lijstje zou ik zelf toch voor Access kiezen. Niet ideaal maar van de gegeven keuzes imo de beste.

Maar dan krijg je wel een performance probleempje zoals je gemerkt hebt :) Om twee tabellen uit twee databases te kunnen vergelijken moet Access (maar net zo goed andere tools) de data eerst lokaal bufferen waarna de query pas uitgevoerd kan worden. Het gebruik van tijdelijke tabellen is dus zeker aan te raden als je meerdere queries op dezelfde data moet uitvoeren. Na de eenmalige kopieer actie kan Access de tabellen direct benaderen en krijg je dus een betere performance.

Wat je kan overwegen is de select into niet in Access tabellen te doen maar in een Oracle (of DB2) database. In dat geval kun je gebruik maken van kracht van een Oracle server voor je vergelijkingen ipv dat je het door je eigen PC laat doen. Tevens kun je dan voor je vergelijkingen elke Oracle tool gebruiken die je wilt.

  • Mike Jarod
  • Registratie: Januari 2002
  • Niet online
Bedankt voor de replies :)

Ik ga zeker eens kijken of het mogelijk is om via Oracle een link aan te leggen naar de DB2 database. Ik ben alleen bang dat dit op verzet zal stuiten. Dit komt omdat het bedrijf waar ik werk wel de problemen opgelost wil zien, maar ontzettend star is in dit soort gevallen. Ik werk ook niet als DB admin, ik heb ook alleen maar leesrechten op de verschillende tabellen, en als ik een verandering wil hebben op dit gebied moet ik het hele bureaucratische proces doorlopen. Maar ik ga deze optie zeker aandragen. Dan vraag ik me alleen af of deze optie niet alsnog performance problemen met zich mee gaat brengen?

Omdat ik dus geen schrijfrechten heb op de tabellen is een SELECT INTO vanuit DB2 naar Oracle op dit moment geen optie. Ik zal zeker eens een balletje opgooien om te kijken of ik niet een aparte Oracle omgeving voor mezelf kan krijgen waar ik wel schrijfrechten op heb.

For the time being ga ik dus maar aan de slag met Access, en dan zoveel mogelijk gegegvens proberen lokaal te krijgen. Zodra die tabellen in Access staan kan ik de mdb lokaal als ODBC tabel 'instellen', en vervolgens met Crystal Reports en WinSQL 'extern' op de mdb query-en. Dit in het geval dat ik Access zelf te beperkend vind. Ik hoop alleen dat Access tabellen ondersteunt van 250.000+ records. Maar goed in sommige gevallen kan ik ook bij de SELECT INTO statements nog wat filters aangeven zodat de doeltabellen stukken kleiner worden.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

Even een heel andere vraag:
Dit is een functionele eis? Waarom wordt dat dan niet door een ontwikkel afdeling gemaakt bij een volgende release van de applicatie(s)?
Ik neem even aan dat jij eindgebruiker bent, en dat er toch zeker wel een contactpersoon (applicatie beheerder) aan de ICT kant moet zijn, die er voor is om dit soort problemen op te lossen?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


  • Mike Jarod
  • Registratie: Januari 2002
  • Niet online
Jij snapt het spelletje ;)

Ik wil niet in detail treden, maar een deel van dit verhaal is een politiek spelletje binnen het bedrijf. Zoals ik al zei werk ik in een nogal starre organisatie, dus alles moet formeel gebeuren en alles gaat niet zo makkelijk als je zou willen.

Ik heb inderdaad goede medewerking van de applicatiebeheerders en functioneel beheerders, maar alles gaat moeizaam. Dat heeft zo zijn redenen. Daarom moet ik voorlopig roeien met de riemen die ik heb. Als ik (via een omweg) fouten tussen onze systemen naar boven kan toveren, zal men het nut er beter van inzien, waardoor er meer medewerking komt.

Om tips over die omweg te krijgen had ik dit topic gestart :)

[ Voor 4% gewijzigd door Mike Jarod op 05-02-2005 10:24 ]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

Nou, dan moet je denk ik maar voor Access gaan, anders overtreed je veel regeltjes en ga je mensen op hun tenen trappen. Dan is in zo een situatie de Access methode het minst erg voor de andere afdelingen. Een eigen server met Oracle of DB/2 zou ik niet doen. Die staat binnen de kortste keren uit als ze daar achter komen, en is al die moeite voor niets.

Maar aangezien je Access gewoon k*t vindt, zou de Crystal Reports ook een optie kunnen zijn. Ken ik niet zo goed, maar je zou kunnen denken aan een rapport dat alleen de verschillen weergeeft. Dat zou volgens mij wel mogelijk moeten zijn.

[ Voor 26% gewijzigd door Gé Brander op 05-02-2005 15:31 ]

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!

Pagina: 1