一条sql语句实现跨数据库查询sql2005数据库A  Access数据库B
通过B.tab1的id字段到A.tab2里查询tab2.id=tab1.id的一条数据附实例最好  谢谢

解决方案 »

  1.   

    只能这样 。
    不然sql里 use [xxx] 有什么用 。
      

  2.   

    一句话是可以的,先在sql 2005下创建Link Server,使用ODBC驱动,写连接字符串,Link server至access。然后,查询就简单了,比普通查询多指定一项数据库名和表名的owner就好了。
      

  3.   


    SQL SERVER2005建Link Server
      

  4.   

    只能程序上,连接两个数据库,循环查询检录,判断tab2.id=tab1.id其他法,并不知
      

  5.   

    select * from dbName.dbo.A.tab1 as t1 inner join linkServerName.B.tab2 as t2
    on t1.id=t2.id
      

  6.   

    连接Access是选Microsoft Jet 4.0 OLE DB Provider,不是ODBC Drivers
      

  7.   


    是这个吗?
    B. 使用 Microsoft OLE DB Provider for Microsoft Access
    EXEC sp_addlinkedserver    @server = 'SEATTLE Mktg',    @provider = 'Microsoft.Jet.OLEDB.4.0',    @srvproduct = 'OLE DB Provider for Jet',   @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'
      

  8.   

    select * int [hz0012004].[dbo].[表名] from [ufmodel].[dbo].[accessaries]
    同一台机器上面可以直接使用:
    如果是建立在两台机器上,需要建立连接数据库。企业管理器-》安全性->连接服务器,新建一个
    记得加中括号
      

  9.   

    select * int   小d  你确定这里用 int   神马意思?
      

  10.   


    是这样的,没错。我写的那个sql可以有点问题,没有调试过,后面的Link server要不要加dbo,你试试看。
      

  11.   


    @datasrc = 'C:\MSOffice\Access\Samples\Northwind.mdb'
    这里获得项目的根目录里的 mdb  该咋写?
      

  12.   

    这里获得项目的根目录里的 mdb 该咋写?不明白什么意思?
    这里是要写mdb的文件系统的路径的,在建立link server时下,跟程序没有关系吧?
      

  13.   

    那我这个网站项目中有个a.mdb的数据库
    我怎样知道我这个数据库的路径
    网站项目上传到服务器可能要改变目录的啊  
    我这个路径不可能是绝对路径的啊
      

  14.   

    SELECT * FROM Master..SysDatabases 
    这个可以得到所有的库名以及它的文件目录
      

  15.   


    建link server必须用绝对路径,这个是在sql server2005中,图形化界面操作的,你建一次,就知道了。