Sql Server2008中自定义函数调用存储过程解决方案

1.开启sql server 2008远程连接

打开sql server配置管理器

 

 

 

配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行

 

 

 

11

在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”

 

 

 

 

 

 

选择“IP 地址”选项卡,设置TCP的端口为“1433”

 

 

 

"客户端协议"的"TCP/IP"也修改为“Enabled”

 

 

 

在控制面板下的 系统和安全 下的 Windows防火墙,高级设置

入站规则和出站规则,选择新建规则,开放1433端口

 

 

2.Win7Telnet服务默认是关闭的

在控制面板(小图标)下,程序与功能   下的   打开或关闭Windows功能

找到Telnet服务器”和“Telne客户端”两项,然后将之前的勾选上即可开启对应服务

 

 

 

cmd终端窗口下输入,telnet 192.168.1.49(ip地址) 1433  ,测试端口是否开放。

 

3.自定义函数调用存储过程

--创建student

create table student(

id int ,

name varchar(30),

age int

)

  

insert into student values(1,'张三',22);

insert into student values(2,'李四',22);

insert into student values(3,'王五',22);

 

create proc wx$opencard(@p_appid varchar(20),@p_param varchar(20))

as

select * from student where id = @p_appid and age = @p_param;

go

 

--通过openrowset在函数中调用存储过程

create function test()

returns table

as

return

SELECT * FROM OPENROWSET(

'SQLOLEDB.1',

'server=SERVER-PC\SQLEXPRESS;uid=root;pwd=root',

'exec wx$opencard 1,22'

)

go

 

开启openrowset方法

sp_configure  'show advanced option',1;

GO

RECONFIGURE

sp_configure 'Ad Hoc Distributed Queries',1;

GO

RECONFIGURE

 

posted @ 2017-03-31 21:08  话说当初  阅读(7214)  评论(0编辑  收藏  举报