Laden...

MS Access OleDB Link

Erstellt von norman_timo vor 16 Jahren Letzter Beitrag vor 15 Jahren 1.026 Views
norman_timo Themenstarter:in
4.506 Beiträge seit 2004
vor 16 Jahren
MS Access OleDB Link

verwendetes Datenbanksystem: <MS Access>

Hallo liebe Access'ler.

ist es irgendwie möglich mittels .NET und OleDB 2 MDB-Datenbanken (Access-DB-Dateien) zu verlinken? Genauer gesagt hätte ich gerne einen Link zu einer Tabelle aus einer anderen MDB.

In VB6 gibt es hier eine einfache Lösung, das verwendet aber in meinem Fall die DAO-Library.

Ich suche jetzt eine Möglichkeit das Ganze mit OleDB zu realisieren.

Vorab schon mal ein Danke für alle die Ideen einbringen.

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

3
3 Beiträge seit 2008
vor 15 Jahren

Hallo,
ist das Problem schon erledigt?


public void ZweiDatenbanken() {
	string strCon1		= @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\A1.MDB";
	OleDbCon1			= new OleDbConnection(strCon1);
	OleDbCon1.Open();
	ad1					= new OleDbDataAdapter();
	cmd1					= new OleDbCommand("SELECT * FROM ARTIKEL", OleDbCon1);
	ad1.SelectCommand	= cmd1;
	tbl1					= new DataTable("Artikel");
	ad1.Fill(tbl1);
	dataGridView1.DataSource	= tbl1;

	string strCon2		= @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\A2.MDB";
	OleDbCon2			= new OleDbConnection(strCon2);
	OleDbCon2.Open();
	ad2					= new OleDbDataAdapter();
	cmd2					= new OleDbCommand("SELECT * FROM BESTELLUNGEN", OleDbCon2);
	ad2.SelectCommand = cmd2;
	tbl2					= new DataTable("Bestellungen");
	ad2.Fill(tbl2);
	dataGridView2.DataSource	= tbl2;
}

Zeigt die Daten aus zwei MDBs an. Ist also recht simpel.
Aber vielleicht habe ich Dein Problem auch nicht richtig verstanden.
Gruß

norman_timo Themenstarter:in
4.506 Beiträge seit 2004
vor 15 Jahren

Hallo 3Huete,

vielen Dank zunächst für die Hilfe. Das ist allerdings für mich nicht zu gebrauchen. Da es sich hier um wirklich große Datenmengen handelt werde ich tunlichst vermeiden alle Daten in ein Dataset zu lesen. Es geht bei mir ja auch nicht nur um Lesen und Darstellen, sondern auch manipulieren.

Problem ist natürlich, dass ich einen JOIN über die 2 Tabellen machen möchte. Über einen Access Datenbanktabellenlink geht das sehr gut, habe aber wie gesagt noch keine Möglichkeit mittels OleDB gefunden.

-> Habe aber inzwischen einen Workaround am Laufen. Habe mittels Access eine neues DB-File erstellt, das alle relevanten Tabellen als Link beinhalten. Diese kann ich nun ansprechen und auch dann die gewünschten Operationen auf alle Tabellen bewerkstelligen.

Viele Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

3.511 Beiträge seit 2005
vor 15 Jahren

Hmm, kenn mich mit ACCESS nicht so aus. Gibt es da im SQL den OPENROWSET Befehl? Das könnte weiterhelfen (wenn es den denn gibt).

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

norman_timo Themenstarter:in
4.506 Beiträge seit 2004
vor 15 Jahren

Hallo Khalid,

wow, angeblich kann das MS Access (zumindest augenscheinlich auf MSDN kurz überflogen).

Das wär ja geil, wenn das geht. Probiere es mal am Montag aus, ich komme heute nicht dazu.

Danke und Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”