问题标签 [openquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1365 浏览

sql-server - openquery的订单提示?

我需要定期在计划的作业中执行以下 SQL ( SQL Server 2008 )。查询计划显示 53% 的成本是在从 oracle 服务器中提取数据后进行排序的。但是,我已经在 openquery 中订购了数据。合并加入时如何强制查询不排序?

有像bulk insert'''这样的东西with (order( { column [ ASC | DESC ] } [ ,...n ] ))吗?merge如果存在,它会帮助改进语句的查询计划吗?

如果 oracle 表在 K1、K2 上已经有 PK,oracle.db.owner.tablename那么作为目标使用会更好吗?(SQL Server 会从 oracle 元信息中找出索引吗?)

或者我能做的最好的是将oracle数据存储在本地临时表中并在K1,k2上创建一个集群主键?我试图避免创建临时表,因为有时返回的 openquery 数据集可能很大。

0 投票
5 回答
36820 浏览

sql-server - 如何使 WHERE 子句不区分大小写:从 SQL Server 查询 Oracle 链接服务器

我们有一个MS SQL Server 2005安装,它通过链接服务器连接连接到Oracle数据库。

许多 SELECT 语句正在通过一系列OPENQUERY()命令执行。大多数这些语句中的 WHERE 子句都是针对VARCHAR列的。

我听说如果 WHERE 子句区分大小写,它会对性能产生很大影响。

所以我的问题是,如何确保非二进制字符串 WHERE 子句以不区分大小写的方式执行以获得最佳性能?

0 投票
1 回答
1211 浏览

java - 在休眠中打开查询

我在我的问题中使用了 struts 和 hibernate。我尝试了以下查询

控制台打印的查询如下

我在第 79 列出现查询语法异常,即 (CALLINGHOST,...

但是当我在 SQL 中运行查询时,它正在被执行。查询如下

请解释问题并为我提供从 Java 执行它的解决方案。提前致谢。

0 投票
1 回答
1110 浏览

java - 在休眠异常中打开查询

我正在使用struts2hibernate开发。

我用来运行我的开放查询的 Java 代码如下

以下是控制台中打印的查询。当我在 SQL 编辑器中运行以下查询时,它已成功插入,但不是来自 Java。我收到以下错误消息。

SQL查询:

以下是堆栈跟踪:

BLRSAL132772D 是我的服务器

0 投票
1 回答
5492 浏览

sql-server-2008 - Openquery SQL如何检查是否存在?

我正在使用 sqlOPENQUERY检查记录是否存在传递参数更新它,如果不插入新记录。

这是我到目前为止所拥有的

0 投票
1 回答
1776 浏览

tsql - 链接服务器 - LDAP - 消息 7321

下面是我尝试使用链接服务器对 LDAP 执行的简短查询:

从 openquery(ADSI,'') 中选择 *

查询运行良好,除非我在 LDAP 服务器上将“域控制器:LDAP 服务器签名要求”安全设置更改为“需要签名”。当我这样做时,我收到以下错误:

消息 7321,第 16 层,状态 2,第 1 行

准备查询“”以针对链接服务器“ADSI”的 OLE DB 提供程序“ADSDSOObject”执行时出错。

链接服务器 ADSI 是使用域帐户创建的。此外,如果我们能提供帮助,我们宁愿不使用 OPENROWSET。

0 投票
2 回答
1987 浏览

mysql - UPDATE OPENQUERY 失败

我在尝试从 SQL Server 对 MySql 数据库执行的以下 OPENQUERY 语句中遇到错误。

错误是“键列信息不足或不正确。更新影响了太多行”。

该语句应该将“total”字段更新为“1”的值。它是一个整数字段,“id”是表上的主键。我正在使用 SQL Server 2000。

0 投票
1 回答
1918 浏览

sql-server-2008 - 如何在 openquery SQL 中使用替换?

我需要使用 OpenQuery 从链接服务器中删除特殊字符。

这是示例,但它不起作用

0 投票
1 回答
1083 浏览

sql-server-2005 - SQL Server 2005 中使用 OPENQUERY 的存储过程的高“total_worker_time”

[来自数据库管理员站点的交叉发布,希望它可以在这里获得更好的牵引力。我将酌情更新任一站点。]

我在 SQL Server 2005 (SP2) 中有一个存储过程,其中包含一个如下查询(为清楚起见进行了简化)

当这个 proc 运行(并且只运行一次)时,我可以看到该计划出现在 sys.dm_exec_query_stats 中,具有较高的“total_worker_time”值(例如 34762.196 毫秒)。这接近过去的时间。但是,在 SQL Management Studio 中,统计数据显示的 CPU 时间要低得多,正如我所期望的(例如 6828 毫秒)。该查询需要一些时间才能返回,因为它正在与之交谈的服务器速度很慢,但它不会返回很多行。

我知道 SQL Server 2005 中的并行查询可能会出现奇怪的 CPU 时间的问题,这就是为什么我尝试使用查询提示关闭任何并行性(尽管我真的不认为任何案子)。

我不知道如何解释查看 CPU 使用率的两种方式可能不同的事实,也不知道这两种方式中哪一种可能是准确的(我有其他理由认为 CPU 使用率可能是更高的数字,但它是难以测量)。谁能给我一个指导?

更新:我假设问题出在 OPENQUERY 上,所以我尝试查看不使用 OPENQUERY 的长时间运行的查询。在这种情况下,统计信息(通过设置 STATISTICS TIME ON 获得)报告的 CPU 时间为 3315 毫秒,而 DMV 给出的时间为 0.511 毫秒。同意每种情况下的总经过时间。

0 投票
2 回答
7631 浏览

mysql - 从 MS SQL 服务器更新 MySql

我需要帮助编写将从 SQL 服务器更新 MySql 表的查询。我已经创建了链接服务器,并且选择查询工作正常,但在更新时出现错误。我对编写此类查询真的很陌生,所以请帮助我理解错误消息及其含义。

我的更新查询:

错误:

链接服务器“stagedb_za”的 OLE DB 提供程序“MSDASQL”返回消息“无法找到要更新的行。自上次读取以来,某些值可能已更改。”。消息 7343,级别 16,状态 4,第 1 行链接服务器的 OLE DB 提供程序“MSDASQL”无法更新表“[MSDASQL]”。行集正在使用乐观并发,并且在上次获取或重新同步包含行之后,列的值已更改。