日期:2014-05-17  浏览次数:20455 次

ACCESS读取的问题
/*
一、SQLServer和Access

1、查询Access中数据的方法:

select * from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')

或select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB2.mdb";User ID=Admin;Password=')...serv_user

2、从SQLServer向Access写数据:

insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from Accee表')
select * from SQLServer表

或用BCP:master..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" out "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'

上面的区别主要是:OpenRowSet需要mdb和表存在,BCP会在不存在的时候生成该mdb

3、从Access向SQLServer写数据:

有了上面的基础,这个就很简单了

insert into SQLServer表 select * from 
OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from Accee表')

或用BCP

master..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" in "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'

4、删除Access数据:

delete from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
where lock=0

5、修改Access数据:

update OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
set lock=1
*/
以上为ACCESS操作的相遇语句,但是我按照上面操作时却提示错误,原语句如下:



select * from openrowset('microsoft.jet.oledb.4.0','database=d:\lin1027.mdb','select * from lin1')




错误如下:
链接服务器"(null)"的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 返回了消息 "找不到可安装的 ISAM。"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。



------解决方案--------------------
http://hi.baidu.com/zcl8624/blog/item/b856dc16a8e9fa18972b439a.html
------解决方案--------------------
jf
------解决方案--------------------