我有個人事數據庫還有個生産管理數據庫 ,生産管理數據庫要調用人事數據庫中的一個表,OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=erp;UID=***;PWD=****,Unitech2.dbo.kpidetail)
高手怎樣不用出現UID,PWD而調用 kpidetail這個表呢 ??謝謝

解决方案 »

  1.   

    不知道楼主用什么工具,很简单!.NEt有内置的加密类,其他语言也可以自己写加密函数!
      

  2.   

    我是在SQL中調用
      通过封装函数或者存储过程,伪加秘.怎麽 為加阿  ??
    我想過可是做的時候有點不對
      

  3.   

    加显性连接:
    OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=erp;UID=***;PWD=****,Unitech2.dbo.kpidetail)
    用:
    --创建链接服务器
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go--查询示例
    select * from srv_lnk.数据库名.dbo.表名--导入示例
    select * into 表 from srv_lnk.数据库名.dbo.表名--以后不再使用时删除链接服务器
    exec sp_dropserver 'srv_lnk','droplogins'
    go
      

  4.   

    在企业管理器里--安全性--链接服务器--新建连接--选择其它数据源里的...for server ,数据源中写入IP--安全性页中选择最后一个,用户和口令填写好,OK
      

  5.   


     可是這個 怎麽用呢?
    放到存儲過程中還是看到密碼阿 
    我要的是在操作的服務器看不到被調用服務器的密碼 
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'
    go
      

  6.   


    但是我這樣查了爲什麽會報錯誤呢 
    exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','erp'
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'**','****'
    exec sp_dropserver 'srv_lnk','droplogins'select*from srv_lnk.erp.dbo.empbas
    報錯
    伺服器: 訊息 7314,層級 16,狀態 1,行 1
    OLE DB 提供程序 'srv_lnk' 不包含表 '"erp"."dbo"."empbas"'。该表可能不存在,或当前用户没有使用该表的权限。
    OLE DB 错误跟踪[Non-interface error:  OLE DB provider does not contain the table: ProviderName='srv_lnk', TableName='"erp"."dbo"."empbas"']。