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中跨数据库进行操作

解决方案 »

  1.   

    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);
      

  2.   

    我的意思是跨数据库,
    现在我有test1.mdb  和  test2.mdb 两个数据库
    我查询的时候要连两个数据库里的表应该怎么做?
      

  3.   

    单个查询 完成后放到1个DataSet中来,然后根据条件在filter 可行
      

  4.   

    有一张表里的数据很大,放到DATASET里的方案,被组长否了
      

  5.   

    up,up
    sql语句里查询两个数据库里表的问题(两个表里肯定有关联)
      

  6.   

    两个数据库的连接要用两个con,然后放到一个DATASET里,进行关联或操作。
      

  7.   

    建议数据分别取出放入DataSet中,对于数据的合并可以通过DataSet.Merge或DataTable.Merge方法来实现,也可以通过Ado.net表达式来进行调解。
    http://www.microsoft.com/china/MSDN/library/data/dataAccess/ADONETEXP.mspx
      

  8.   

    内存里建议不要存放大量数据,所以DATASET的办法在表里数据量大的时候不要用跨数据库,可以使用IN关键字(ACCESS)