ADOX - Problem

LucyLoreley

Grünschnabel
Hallo,
ich habe 2 Datenbanken die ich miteinander vergleichen will.
DB1 = 04; DB2 = 05;

Zuerst will ich vergleichen ob die beiden Datenbanken auch die gleichen Tabellen besitzen, wenn ja dann will ich vergleichen ob in der Tabelle die gleichen Attribute stehen.

Bis zu den tabellen ist das kaum ein problem gewesen hier der Quelltext:
Code:
privatevoid Compare()
 
{
 
ADODB.Connection conn1 = new ADODB.ConnectionClass();
 
conn1.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Pfad1,"","",0);
 
ADODB.Connection conn2 = new ADODB.ConnectionClass();
 
conn2.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Pfad2,"","",0);
 
ADOX.Catalog cat1 = new ADOX.CatalogClass();
 
ADOX.Catalog cat2 = new ADOX.CatalogClass();
 
 
 
cat1.ActiveConnection = conn1;
 
cat2.ActiveConnection = conn2;
 
//Über die Tabellen in DB1 laufen
 
foreach(ADOX.Table t in cat1.Tables)
 
{
// Ein funktion aufrufen in der ich über die Tabellen der DB2 laufe 
CompareTables(t, cat2);	 } 
cat1.ActiveConnection = null;
 
cat2.ActiveConnection = null;
 
conn1.Close(); 
 
// Funktion CompareTables
privatevoid CompareTables(ADOX.Table t, ADOX.Catalog cat)
 
{
 
//Über Tabellen in DB2 laufen
 
foreach(ADOX.Table Tab in cat.Tables)
{
	//Tabellenname vergleichen 
	if(Tab.Name.CompareTo(t.Name) == 0)
	{
		// Hier muss ich jetzt die Cols miteinander vergleichen
	}
}

So jetzt müsste ich ja eigentlich die Columns vergleichen doch wie mach ich das
Ich hätte es so probiert:
Code:
//Über Attribute laufen
 
foreach(ADOX.Column col in Tab.Columns)
{
	 if(col.Name.CompareTo(t.Columns.ToString()) == 0)
	 {
	 }
}
aber das funktioniert nicht, kann mir jemand helfen? Es wäre sehr dringend!
 
Falls es jemanden interessiert hätte die lösung!


Code:
foreach(ADOX.Column col1 in t.Columns)
{
	 foreach(ADOX.Column col2 in Tab.Columns)
	 {
		if(col2.Name.CompareTo(col1.Name) == 0)
		{
		}
	 }
}
 
Zurück