SELECT * from openrowset
('sqloledb','SERVER=SERVER1;UID=ZZZ;PWD=12345;database=yourdb','SET FMTONLY OFF;set nocount on;exec 存储过程') as a
('sqloledb','SERVER=SERVER1;UID=ZZZ;PWD=12345;database=yourdb','SET FMTONLY OFF;set nocount on;exec 存储过程') as a
('sqloledb','SERVER=SERVER1';'UID=ZZZ';'PWD=12345','exec 存储过程') as a问题在于,你运行的机器和SERVER1是否连通,SERVER1是否写错了
SELECT * from openrowset
('sqloledb','SERVER=SERVER1;UID=ZZZ;PWD=12345;database=yourdb','SET FMTONLY OFF;set nocount on;exec 存储过程') as a
===========
这样写还是好慢,原来的存储过程运行只要几秒,这个语句要运行一分多钟,痛苦啊
exec 存储过程
exec 存储过程
==========
是这样的,那个存储过程我只有只读的权限,但是读出的数据还要经过以后很多的过滤,所以想是把这个存储过程里读出的记录写进一个临时表,然后再对临时表操作,
前面的临时表语句我在这里省略了,没写
OpenRowset('MSDASQL'
,'Driver={SQL Server};server=;UID=ZZZ;PWD=12345;database=yourdb','SET FMTONLY OFF;set nocount on;exec 存储过程') as a