22,209
社区成员
发帖
与我相关
我的任务
分享
declare @name nvarchar(2000)
select @name=ISNULL(@name+',','')+name from evw_employee e where e.enpstatus=1
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)<2
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)>0
select @name=N'下一年度即将离职人员:'+@name
declare @sql nvarchar(max)
set @sql=N'insert into openquery(msgmysel,''select smid,srcid,mobiles,content from apimtfanry'')
values(0,0,''13500001111'',N'''+@name+''')'
exec(@sql)
declare @name nvarchar(2000)
select @name=ISNULL(@name+',','')+name from evw_employee e where e.enpstatus=1
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)<2
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)>0
select @name=N'下一年度即将退休人员:'+@name
declare @sql nvarchar(max)
set @sql=N'select * from openquery(msgmysel,
''insert into apimtfanry( smid,srcid,mobiles,content) values(0,0,''''13500001111'''',N'''''+@name+''''')
;select found_rows() as ct '')'
print @sql
--如何ct值为1,说明插入成功
exec(@sql)
print 出来在 sqlserver执行提示 链接服务器 msgmysql 的ole db 访问接口 MSDASQL 指示该对象没有列或者当前用户没有访问该对象的权限。将insert 语句放到MySQL执行可以成功,MySQL默认字符集是utf8[code=sql]
declare @name nvarchar(2000)
select @name=ISNULL(@name+',','')+name from evw_employee e where e.enpstatus=1
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)<2
and ((case when gender=1 then 59 when gender=2 then 49 else 60 end)-e.age)>0
select @name=N'下一年度即将退休人员:'+@name
declare @sql nvarchar(max)
set @sql=N'select * from openquery(msgmysel,
''insert into apimtfanry( smid,srcid,mobiles,content) values(0,0,''''13500001111'''',N'''''+@name+''''')
;select found_rows() as ct '')'
print @sql
--如何ct值为1,说明插入成功
exec(@sql)[/code]
你这个例子里面有2条语句,是不行的哦。就是会报错,就是最简单的
select 1 AS a; select 2 as B 放在这里一齐执行都是不行的。所以你报这个错误是这里引起。select row_count()
--用这个代替刚刚发的found_rows
[/quote]
执行的时候提示 链接服务器 msgmysql 的ole db 访问接口 MSDASQL 指示该对象没有列或者当前用户没有访问该对象的权限。select row_count()
--用这个代替刚刚发的found_rows