语句如下:
select * into T_A from 
(select * from T_B UNION ALL select * from STOCK_PROPOSALVOTE in 'D:/Dest.mdb');
Dest.mdb数据库带密码如何访问呢?
谢谢帮忙

解决方案 »

  1.   

    这样试试
    select * into T_A from 
    (select * from T_B UNION ALL select * from [;database=D:\Dest.mdb;pwd=111].STOCK_PROPOSALVOTE);
      

  2.   

    我提供两种方法
    一种
     EXEC sp_addlinkedserver 
       @server = 'hypemployee', 
       @provider = 'Microsoft.Jet.OLEDB.4.0', 
       @srvproduct = 'OLE DB Provider for Jet',
       @datasrc = 'D:/Dest.mdb' --添加登录
     exec sp_addlinkedsrvlogin 'hypemployee','false'  /*密码为空*/
     /*如果有密码改为exec sp_addlinkedsrvlogin 'hypemployee','false','admin','123456'*/  --查询表结构
     select top 1 * from [hypemployee]...[你的表]
      
    二种,直接读取 select * from  OPENROWSET('Microsoft.Jet.OLEDB.4.0','D:/Dest.mdb';'admin';'123456', 你的表) 
      

  3.   

    推荐:
     select * from  OPENROWSET('Microsoft.Jet.OLEDB.4.0','D:/Dest.mdb';'admin';'123456', 你的表)
      

  4.   

    楼上两位,OPENROWSET好像只能在sqlserver中用,access中不能用的
      

  5.   

    试了OPENROWSET不行啊,Access不识别关键字。
    用了 keiy 的方法,在Access的查询中运行成功,但是同样的语句在Delphi中报“不正常地定义参数对象。提供了不一致或不完整的信息”,请问这是为什么?
    发现在[]里的路径和密码等都不用加上引号'',是否和这有关?
    谢谢
      

  6.   

    这个就行了
    select * into T_A from 
    (select * from T_B UNION ALL select * from [;database=D:\Dest.mdb;pwd=密码].STOCK_PROPOSALVOTE) T_C
      

  7.   

    qizhanfeng(glacier) 
    我就是这样写的:
    select * into T_A from 
    (select * from T_B UNION ALL select * from [;database=D:\Dest.mdb;pwd=密码].STOCK_PROPOSALVOTE) T_C
    放在Access中跑就没问题,但是写到Delphi中就不行了,跟踪到送给Access的sql是一样的,可是就是报错“不正常地定义参数对象。提供了不一致或不完整的信息”
      

  8.   

    如果你用的是“ADOConnection1”连的数据库,有一个很笨但是很可行的办法就是自己设置
    ADOConnection1.ConnectionString:='';
    把它后面的串写进去,其中就有密码设置的字符串,我就是这样用的,
      

  9.   

    我试了一下,通过ODBC没问题,但通过ADO就出现“不正常地定义参数对象。提供了不一致或不完整的信息”这个错,感觉是ADO的问题
      实在不行的话,就可ODBC连吧