@diannao varchar(100), @biaoming varchar(30)/*@diannao 电脑名和路径 @biaoming accesss表名
*/
As declare @sql varchar(256)
set @sql='insert into OPENROWSET
('+ '''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';'+'''admin'';'+''''',' + @biaoming+')
(编码,商品名称)
select 编码,商品名称 from b编码
where b编码.编码 NOT IN (select 编码 from OPENROWSET
('+ '''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';'+'''admin'';'+''''',' + @biaoming+')'execute (@sql)错误:unclosed quotation before the characfer string ''.
*/
As declare @sql varchar(256)
set @sql='insert into OPENROWSET
('+ '''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';'+'''admin'';'+''''',' + @biaoming+')
(编码,商品名称)
select 编码,商品名称 from b编码
where b编码.编码 NOT IN (select 编码 from OPENROWSET
('+ '''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';'+'''admin'';'+''''',' + @biaoming+')'execute (@sql)错误:unclosed quotation before the characfer string ''.
select * from openrowset('Microsoft.Jet.OLEDB.4.0','C:\ACC.MDB';'Admin';'',a)你对照一下.
在执行前将@sql打出来,看一下替换结果.使用变量替换的sql语句经常会有引号,括号不对应的事.
这样应该可以的!你可以试验
错误:unclosed quotation before the characfer string ''.
where b编码.编码 NOT IN (select 编码 from OPENROWSET
('+ '''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';'+'''admin'';'+''''',' + @biaoming+')'麻烦各位分析一下。
select @diannao='1',@biaoming='2'
set @sql='insert into
OPENROWSE(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+')(编码,商品名称)
select 编码,商品名称 from b编码
where b编码.编码 NOT IN (select 编码 from
OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+')'
select @sql
你可以试验看看如何!
declare @sql nvarchar(1000),@diannao varchar(10), @biaoming varchar(10)
select @diannao='1',@biaoming='2'
set @sql='insert into
OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+')(编码,商品名称)
select 编码,商品名称 from b编码
where b编码.编码 NOT IN (select 编码 from
OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+'))'
select @sql
你可以试验看看如何!
这是我的一个成功的离子:
declare @sql1 varchar(1000),@sql2 varchar(1000),@diannao varchar(300), @biaoming varchar(100)
select @diannao='C:\Biblio.mdb',@biaoming='authors'
set @sql1='insert into OPENROWSEt(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+')(Au_ID)'
select @sql2=' select a from kk where kk.a NOT IN (select Au_ID from OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',''' + @diannao + ''';''admin'';'''','+ @biaoming+'))'
你要先建一个表
create table kk(a int)
文件的路径你自己写好了
最后问一下,你们在处理sql7.0和access之间的数据时用什么方法?
我上面的方法有什么缺点或优点?
assess 表名:编码
编码 商品名称 录入时间
sql7.0 表名:b编码
编码 商品名称 录入时间
如果 b编码.录入时间<>编码.录入时间
则用sql7.0的编码 商品名称 录入时间 的值 更新 access 编码 商品名称 录入时间 的值
assess 表名:编码
编码 商品名称 录入时间
sql7.0 表名:b编码
编码 商品名称 录入时间
如果 b编码.录入时间<>编码.录入时间
则用sql7.0的编码 商品名称 录入时间 的值 更新 access 编码 商品名称 录入时间 的值