c#.net 跨数据库问题
csdn上的例子
Dim Export_Str
Dim rsExport As New ADODB.Recordset
Dim conn As New ADODB.Connection
conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\temp1.mdb; "
Export_Str = "select * from [;database=C:\temp2.mdb].tempB as a, tempA as b where a.id=b.id "
Set rsExport = conn.Execute(Export_Str)
Do While Not rsExport.EOF
Debug.Print rsExport(0) & " "; rsExport(1)
rsExport.MoveNext
Loop
在.net中这样用
String str= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\\test1.mdb; ";
OleDbConnection con = new OleDbConnection(str);
con.Open();
OleDbCommand sql = new OleDbCommand( "select * from [;database = e:\\test2.mdb].test2 ", con);
提示错误,我理解是
OleDbCommand sql = new OleDbCommand( "select * from test UNION ALL select * from [;database = e:\\test2.mdb].test2 ", con);
后的连接con中没有指定另个数据库test2.mdb
请问该怎么在.net中跨数据库进行操作
------解决方案--------------------con连的是test1.mdb
怎么又操作test2.mdb了呢
test1.mdb能连上,那么test2.mdb也应该能连上啊
再连一遍
con.ConnectionString.Replace( "test1.mdb ", "test2.mdb ");
OleDbCommand sql = new OleDbCommand( "select * from test UNION ALL select * from test2 ", con);
------解决方案--------------------单个查询 完成后放到1个DataSet中来,然后根据条件在filter 可行
------解决方案--------------------两个数据库的连接要用两个con,然后放到一个DATASET里,进行关联或操作。
------解决方案--------------------建议数据分别取出放入DataSet中,对于数据的合并可以通过DataSet.Merge或DataTable.Merge方法来实现,也可以通过Ado.net表达式来进行调解。
http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx