Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在存储过程事务错误中执行addlinkedServer

在存储过程事务错误中执行addlinkedServer
EN

Stack Overflow用户
提问于 2014-05-19 01:00:24
回答 2查看 3.9K关注 0票数 2

我试图在T存储过程中执行链接服务器.

但是,我得到了错误。

不能在事务中执行过程'sys.sp_addlinkedserver‘。

这似乎很明显。但是之后我需要使用动态SQL来执行两个查询,但是我试图在执行查询之前添加链接服务器,所以不知道为什么会出现错误。

这是密码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  @sqlDBName VARCHAR(MAX),
  @sqlServerName VARCHAR(MAX)
  AS

  EXEC sp_addlinkedserver 
  @sqlServerName,
  N'SQL Server';


  DECLARE @impUpd VARCHAR(MAX)

  SET @impUpd = '

  UPDATE Customers SET NAME = 'Name'
  FROM Customers c
  JOIN ['+@sqlServerName +'].['+@sqlDBName +'].[dbo].[CUSTOMERS2] 
  ..etc


  exec(@impUpd)

任何帮助都会很好。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-05-19 01:58:24

我找到了解决问题的办法。这与SQL无关,而是与从C#和执行存储过程有关。

当我调用SP时发生了错误

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
m_Context.Database.ExecuteSqlCommand("usp_storedprocedureName");

它的作用是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
m_Context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction,"usp_storedprocedureName");

如果不研究额外的参数是干什么的,我就不能给出它工作的原因(因为枚举说的是不明显的!),但是这里有更多的信息。

在SQL Azure上调用exec sp并引发EF6时使用的存储过程

票数 3
EN

Stack Overflow用户

发布于 2014-05-19 01:26:51

如果您需要动态地创建一个链接服务器,而不是预先手动创建它,那么在它自己的存储过程中这样做,这样您就有了"http://en.wikipedia.org/wiki/Separation_of_concerns“。

您不希望开始将链接服务器创建添加到执行其他事情的存储过程中,否则它将在许多地方发生。

因此,在您的应用程序中,无论是在启动时还是在代码执行的某个合理点,调用一个存储过程来检查链接的服务器是否存在,如果不存在,则创建它。然后,您可以确定它是否存在。

如果不存在链接服务器,请参见这个职位获得创建链接服务器的代码示例:

样本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DECLARE @sqlServerName VARCHAR(MAX)

IF NOT EXISTS (SELECT 1 from sys.servers where name = @sqlServerName)
BEGIN
  PRINT 'Does not exist, need to create link'
  EXEC sp_addlinkedserver @server = @sqlServerName, @srvproduct=N'SQL Server'
END
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23733671

复制
相关文章
MySQL 简单查询语句执行过程分析(三)从存储引擎读数据
本文是 MySQL 简单查询语句执行过程分析 6 篇中的第 3 篇,第 1 ~ 2 篇请看这里: MySQL 简单查询语句执行过程分析(一)词法分析 & 语法分析 MySQL 简单查询语句执行过程分析(二)查询准备阶段
csch
2022/09/05
1.2K0
select 进阶查询语句
普通的 select…from 很明显不能满足我们的更细化的查询需求,它除了基本语法外,还可以拓展使用一些判断语法和过滤、分组语法。本文介绍一些 select 的进阶查询语法。其中包括等值连接、不等值连接、外连接(左外连接、右外连接)自连接、层次查询、子查询(相关子查询)等语法。本文所操作的均是 oracle 下 scott 用户下的表。大家可参考查阅。
我与梦想有个约会
2023/10/20
2130
select 进阶查询语句
mybatis返回值_存储过程获取查询结果
以Map为最外层容器时就要加 @MapKey("id") 指定提取 id 作为 key。
全栈程序员站长
2022/11/09
2.1K0
查询top1数据 想到的关于select 返回数据的
最近工作中有遇到查询分组第一条的问题,由此想到了一些关于 select 返回数据的顺序的几个问题。
写PHP的老王
2019/08/12
1.3K0
查询top1数据 想到的关于select 返回数据的
SQL从入门到入魔之select简单查询
使用select查询表数据,必须至少给出两条信息——想选择什么,以及从什么地方选择。
可可的测试小栈
2019/10/17
1.7K0
MySQL 简单查询语句执行过程分析(二)查询准备阶段
本文是 MySQL 简单查询语句执行过程分析 6 篇中的第 2 篇,第 1 篇请看这里: MySQL 简单查询语句执行过程分析(一)词法分析 & 语法分析
csch
2022/09/05
1.1K0
用SQL语句获得一个存储过程返回的表
定义一个存储过程如下: create proc [dbo].[test1] @id int as select 1 as id,'abc' as name union all  select @id as id,'zzz' as name 返回两行数据. 现在想用SQL语句来调用这个存储过程,并把他返回的表放入变量中.可以如下做: declare   @table   table(id   int,name varchar(50))--定义表变量来存放存储过程返回的内容 insert  into @
深蓝studyzy
2022/06/15
1.2K0
数据库-select查询语句
select 学号,姓名 from Student where 学号 in
全栈程序员站长
2022/08/24
1.2K0
MYSQL基本操作-select 查询语句
注意:当使用distinct的时候,只会返回指定的字段,其他字段都不会返回,所以查询语句就变成去重查询语句
MIKE笔记
2023/03/23
2.8K0
MYSQL基本操作-select 查询语句
mysql数据库select语句用法_mysql数据库select查询语句简单用法「建议收藏」
1、select语句可以用回车分隔sql=”select * from article where id=1″和sql=”select * from article where id=1″,都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时
全栈程序员站长
2022/08/18
8.8K0
SELECT 语句中的 子查询(Sub Query)
子查询(Sub Query)或者说内查询(Inner Query),也可以称作嵌套查询(Nested Query),是一种嵌套在其他 SQL 查询的 WHERE 子句中的查询。
一个会写诗的程序员
2018/08/17
3.2K0
MYSQL基本操作-select 查询语句【续】
筛选分组结果 having关键字对group by分组后的数据进行过滤 having支持where的所有操作符和语法
MIKE笔记
2023/03/23
1.8K0
MYSQL基本操作-select 查询语句【续】
MySQL 简单查询语句执行过程分析(四)WHERE 条件
本文是 MySQL 简单查询语句执行过程分析 6 篇中的第 4 篇,第 1 ~ 3 篇请看这里: MySQL 简单查询语句执行过程分析(一)词法分析 & 语法分析 MySQL 简单查询语句执行过程分析(二)查询准备阶段 MySQL 简单查询语句执行过程分析(三)从 InnoDB 读数据
csch
2022/09/05
2.4K0
MySQL 简单查询语句执行过程分析(四)WHERE 条件
基础SQL-DQL语句-SELECT查询的简单使用以及IFNULL函数
select 字段名1 as 别名,字段名2 别名 from 表名 as 表别名;
Devops海洋的渔夫
2022/01/17
1.5K0
JAVA中SQL查询语句大全,select多表查询,各种查询
– 查询emp表中的所有部门, 剔除重复的记录, 提示: distinct用于剔除重复值
全栈程序员站长
2022/09/02
2.2K0
JAVA中SQL查询语句大全,select多表查询,各种查询
mybatis返回对象_存储过程不能返回结果
在更多的了解mybatis后发现不单单通过实体类可以直接返回数据,还可以直接返回一个Map结果集(resultType=”java.util.Map”) ,如果是多条数据则返回一个List<Map<String, Object>>结果集。
全栈程序员站长
2022/11/09
1.8K0
mybatis返回对象_存储过程不能返回结果
Mysql常用sql语句(3)- select 查询语句基础使用
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
9520
Mysql常用sql语句(3)- select 查询语句基础使用
ORACLE存储过程的分支语法(IF语句)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160910.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/13
2.2K0
数据库基础:select基本查询语句
查询列里包含数字或字母:select * from 表名 where 列名=’值’
全栈程序员站长
2022/07/01
6900
数据库的存储过程_数据库的存储过程语句
  2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。
全栈程序员站长
2022/09/21
3.9K0
数据库的存储过程_数据库的存储过程语句

相似问题

XML源...我哪里错了?

10

Perl XML::LibXML我哪里出错了

11

有效XML,有效架构。我哪里出错了?

37

我哪里错了?

33

动态TestNG XML创建。XML出错了。我错在哪里

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文