免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4222 | 回复: 2
打印 上一主题 下一主题

关于远程存储过程调用(RPC)的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-26 10:16 |只看该作者 |倒序浏览
我公司有两面台NT服务器,装入SYBASE11.9.2。现想使用远程存储过程调用(RPC)技术来交换数据。两个服务器的参数"cis rpc handling" 和 "enable cis"及"allow remote access"都为"1"。并已重起服务器。
    我用sp_addexternlogin server, loginname, externname [, externpassword]来把本地用户映射为过程用户,远程存储过程调用成功。但由于sp_addexternlogin要每个用户都作映射,而我公司用户较多,维护不方便。我想在远程服务器上使用sp_addremotelogin remoteserver [, loginame [, remotename] ]来把所有的远程登录都映射为同一个用户,并用sp_remoteoption remoteserver, loginame , NULL, trusted, true来不检查登录密码。但远程存储过程调用不成功,服务器间根本不能连接,出错信息为“Internal Ct-Lib/Cs-Lib error 84083974: 'ct_connect(): network packet layer: internal net library error: Net-Library operation terminated due to disconnect'.
Server Message:  Number  11206, Severity  16
Line 1:
Unable to connect to server 'x232'. ”不仅把所有的远程登录都映射为同一个用户不行,我尝试把一个远程登录都映射为一个本地用户,也是同样错误。不知是什么原因,是不是我哪个配置没配好?请各位大侠指点指点。

论坛徽章:
0
2 [报告]
发表于 2003-03-26 10:22 |只看该作者

关于远程存储过程调用(RPC)的问题

使用字符方式进行配置及操作
1. 在主服务器及从服务器添加本地服务器名称
sp_addserver local_server_name,local

2. 在本地主机中使用 dsedit添加远程服务器的接口
3. 在本地服务器上添加远程服务器名称
sp_addserver remote_server_name,ASEnterprise,server_net_name
server_net_name为DSEDIT中配置的名称
4. 设置远程服务器选项
exec sp_addserver 远程服务器逻辑名称,类型,本地DSEDIT配置的服务器名称

exec sp_serveroption sybcdsrv, "timeouts", true 是否有超时限制
exec sp_serveroption sybcdsrv, "net password encryption", false 是否对密码进行网络加密
exec sp_serveroption sybcdsrv, "readonly", false(只对CIS生效)是否远程服务器上数据只读
exec sp_serveroption sybcdsrv, "rpc security model A", true 设置rpc安全机制
go

5. 增加远程用户与本地用户的映射关系
sp_addremotelogin remote_server_name,local_login,remote_login
local_login及remote_login均为服务器上已经存在的login
local_login跟remote_login口令应该一致,如果不一致,在
Open Client Client-Library编程中可以使用 ct_remote_pwd 命令进行设置
但在isql 及 bcp 中不允许指定 rpc 口令

另外,一旦到远程服务器的连接建立成功,在退出当前会话前,不论远程服务器是否对相关remote_login进行了口令更改,远程存储过程的调用及其他远程操作都可以进行。

6. 设置服务器之间的信任关系
sp_remoteoption remote_server_name,local_login,remote_login,trusted,true

7. 调用远程存储过程
isql -Usa -P -Slocal_server_name
1>;exec remote_server_name.database_name.owner_name.procedure_name
2>;go

另外可以在 isql 中使用connect remote_server_name命令连接到远程服务器上,以测试远程服务器是否配置正常、网络是否正常、远程服务器是否接受连接。

除了远程存储过程调用方式,也可以采用其他一些方式对远程服务器上的数据进行更改,其中包括建立代理表,使用sp_remotesql等方式。具体操作方法请参见ASE命令参考手册及相关文档。
sp_remotesql ase12,"insert into pubs2..tr1 values(09,'test remote sql')"

论坛徽章:
0
3 [报告]
发表于 2003-04-01 11:43 |只看该作者

关于远程存储过程调用(RPC)的问题

上面的配置都没问题。问题是在本地服务器用sp_addexternlogin把本地用户映射成远程用户能连接成功。但在远程服务器用sp_addremotelogin把远程登录映射成本地用户就不能连接了。如果只使用sp_addexternlogin维护太麻烦了。有哪位高手可以帮帮忙?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP