日期:2014-05-18  浏览次数:20458 次

请教不同服务器之间数据库连接共享问题!
现在有我有一个数据,放在服务器上,别人相调用我数据库里的东西,然后存储到他的数据库里去,但是我又不想让别人知道我数据库连接的用户名和密码,请问如何实现?
比如如果生成DLL,应该怎么写,急啊!

如果我把数据库的连接写成DLL以后,然后我告诉他们调用的表名和字段名就可以了。但是我不知道怎么弄。
这个事情很急,请高手进来指点。


------解决方案--------------------
创建一个只能查询某些数据(限制权限)的用户和密码告诉他不能行了.
------解决方案--------------------
--去掉指定用户所有对象的权限,再对个别可操作的表添加权限

create proc usp_deny (@userid varchar(20))
as
declare @sql varchar(1000)
declare @name varchar(100)
declare @type varchar(10)
if @userid is null
return
declare cur_objects cursor for
select name,type from sysobjects where xtype in ( 'S ', 'U ', 'P ', 'V ', 'FN ', 'TF ')
open cur_objects
fetch next from cur_objects into @name,@type
while @@fetch_status=0
begin
if @type in ( 'S ', 'U ', 'V ')--系统表,用户表和视图一样的操作
begin
select @sql = 'DENY SELECT, INSERT, UPDATE, DELETE ON '+@name+ ' TO '+@userid
exec(@sql)
end
if @type = 'P ' --存储过程
begin
select @sql = 'DENY EXEC ON '+@name+ ' TO '+@userid
exec(@sql)
end
if @type in ( 'FN ', 'TF ') --表函数和标量函数
begin
select @sql = 'DENY SELECT ON '+@name+ ' TO '+@userid
exec(@sql)
end
fetch next from cur_objects into @name,@type
end
close cur_objects
deallocate cur_objects