zoukankan      html  css  js  c++  java
  • [转] sql server 跨数据库调用存储过程 SQL server calls stored procedures cross-databases

    A库存储过程:

    create PROCEDURE [dbo].[spAAAForTest]
    (                        
        @UserName   nvarchar(20) =null ,
        @LoginPwd nvarchar(60)  =null
    )
    AS
    BEGIN
        select N'A' AS a
        , N'B' AS B
        , N'C' AS C
            ;
    
    END

    同一台服务器实例,A,B两个数据库, 在B库的存储过程中,调用A库的存储过程

    B库:

    ALTER PROCEDURE [dbo].[spAAAForTest2]
    (                        
        @UserName   nvarchar(20) =null ,
        @LoginPwd nvarchar(60)  =null
    )
    AS
    BEGIN
       declare @sql nvarchar(500);
       set @sql = N' exec DB_A.dbo.spAAAForTest ';
        exec  sp_executesql @sql
    
    END

    A,B两个数据库,不在同一台服务器实例, 在B库的存储过程中,调用A库的存储过程

    B库:

    ALTER PROCEDURE [dbo].[spAAAForTest2]
    (                        
        @UserName   nvarchar(20) =null ,
        @LoginPwd   nvarchar(60)  =null
    )
    AS
    BEGIN
       declare @sql nvarchar(500);
    
       set @sql = N' exec OPENDATASOURCE(''SQLOLEDB'',''Data Source=SERVER-123MSSQL2008R2;User ID=sa;Password=sa'').DB_A.dbo.spAAAForTest ';
    
       exec  sp_executesql @sql
    
    END

    --------------- 在跨服务器调用时,所使用OPENDATASOURCE 遭遇如下信息时

    消息 15281,级别 16,状态 1,第 1 行

    SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries'

    because this component is turned off as part of the security configuration for this server.

    A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure.

    For more information about enabling 'Ad Hoc Distributed Queries',

    see "Surface Area Configuration" in SQL Server Books Online.

    通过如下方式进行设置:

    exec sp_configure 'show advanced options',1
    reconfigure
    exec sp_configure 'Ad Hoc Distributed Queries',1
    reconfigure

    转自:freeliver54  sql server 跨数据库调用存储过程   (侵删)

  • 相关阅读:
    fetch与xhr的对比
    使用 fetch
    数组的剩余方法
    slice方法与splice方法
    php命名空间使用
    PHP面向对象编程学习之对象基础
    ubuntu下lamp环境配置及将window代码迁移至linux系统
    ThinkPHP中使用ajax接收json数据的方法
    给js文件传递参数
    JavaScript和php常用语法——切割字符串
  • 原文地址:https://www.cnblogs.com/hydor/p/5737380.html
Copyright © 2011-2022 走看看