问题标签 [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.
mysql - 在连接两个表时使用 OPENQUERY 提取数据时如何忽略重复键?
我正在尝试使用“OPENQUERY”将记录从 MS SQL Server 插入 MySQL 数据库,但我想做的是忽略重复的键消息。因此,当查询遇到重复时,请忽略它并继续。
我可以做些什么来忽略重复项?
这是我正在做的事情:
- 使用“OpenQuery”从 MySQL 中提取记录以定义 MySQL“A.record_id”
- 从这里将这些记录加入到 MS SQL Server 中的“具有特定条件而不是直接 ID”的记录中,我在 SQL Server 中找到了一个新的相关“B.new_id”记录标识符。
- 我想将找到的结果插入 MySQL 中的新表中,例如 A.record_id, B.new_id 在新表中,我将 A.record_id 设置为该表的主键。
问题是,有时将表 A 连接到表 B 时,我发现表 B 中有 2+ 条记录与我正在寻找的条件相匹配,这会导致我的数据集中的值 A.record_id 在插入表 A 之前达到 2+ 次这导致了问题。注意我可以使用聚合函数来消除记录。
sql - 具有交叉连接的链接服务器
我有两台服务器。一个是我的,另一个是另一家公司的。在第二台服务器中,我无法创建任何数据库或添加任何函数或存储过程,但我需要返回信息以与我的数据库进行交叉连接。
例如,
或者
我这样做了,但表现非常糟糕。
是否有可能以更好的性能做到这一点?
sql-server - DB2 v 6.x 在 ms sql server 2012 中通过 i5 ODBC 驱动程序使用开放查询的正确日期(转换)是什么?
我正在尝试使用来自 mssql2012 的开放查询从 IBM 的 System i ODBC driver for i5;DB2 version 6.x 中提取数据。该查询使用日期范围谓词:其中 date(rhinvdt) 在 date('01/01/12')和 date('01/31/14')* 之间。这会导致返回消息:
“[IBM][System i Access ODBC 驱动程序][DB2 for i5/OS]SQL0181 - 日期、时间或时间戳字符串中的值无效。 ”。
当我在 IBM Data Studio 中执行完全相同的查询(剪切和粘贴)时,查询成功,返回了预期的数据。我意识到 IBM Data Studio 正在通过链接服务器连接使用 jdbc 与 mssql2012 开放式查询,但是,我对 iseries 方面的日期转换功能了解不够,不知道是否应该为 openquery 使用更好的转换替代方案。顺便说一句,我打印出 sql,所以我可以看看我的语法是否正确。这就是我能够从 mssql2012 消息输出中剪切和粘贴的内容,以便通过 IBM Data Studio 执行以获得结果集。我还执行了以下语句:从 sysibm.sysdummy1 中选择当前日期;从 IBM Data Studio 获取默认日期设置,返回: 02/05/14
这是代码
以下是print @sql 的结果:
sql-server - SQL 服务器更新打开查询
我正在尝试链接两台服务器(主机是 SQL Server 2008,目标是 ORACLE),以便 Oracle 服务器上的表由 SQL 服务器上多个表中保存的数据填充。
我已经设置了一个 INSERT OPENQUERY,它工作得非常好。我还想设置另一个查询来更新这些记录。
所以,我的插入查询,选择过去 24 小时内创建的记录,然后插入它们,没问题。但我正在努力创建一个 UPDATE OPENQUERY 脚本,该脚本将每 24 小时运行一次以进行相关更改。
这是我的插入
谢谢你的帮助 。我四处搜索,在 OPENQUERY 上找不到太多,这一切似乎都是非常基本的东西。我尝试遵循这个语法的例子,但它让我无处可去......
sql-server - 将变量列表从一个 OpenQuery 传递到另一个 OpenQuery
刚开始提问,但多年来一直在使用 Stackoverflow。
我有两个单独链接的服务器,它们彼此不说话。我需要从一台服务器获取变量列表到 SQL,然后将该变量列表传递到第二个 OpenQuery,最终目标是将该服务器中的数据导入 SQL。我已经能够传递单键变量。但是,当我尝试使用字符串 OpenQuery 或仅使用字符串查询时,它会返回错误。有人可以指出我正确的方向吗?
当前查询:
您可以提供的任何帮助将不胜感激。
我正在使用在 2008 SQL 服务器上运行的 SSMS 2012。两个链接的服务器是无法远程连接的 Oracle 服务器。
sql-server-2005 - SQL Server:查询提供凭据的未链接服务器。有可能吗?
我尝试多次查询另一个特定的服务器,但我失败了......我搜索并发现服务器必须与其他服务器链接才能实现我想要的。不幸的是,我无法改变这一点,所以我的问题是,是否可以通过提供凭据来查询另一台服务器。我要查询的服务器有 SQL Server 2005 Service Pack 4 (9.00.5000),而我正在使用的服务器有 SQL Server 2005 Service Pack 3(9.00.4035)。
提前致谢。
sql - 开放查询替代品?IT 不会在新服务器上启用 Openquery
是否有人知道在不使用 Openquery 语法的情况下作为 SQL Management Studio 中的用户查询 Access/DB2 表的替代方法?我部门的 SQL Server 正在从 2005 年升级到 2012 年,在此过程中,IT 表示他们不会启用 openquery,因为它不再是公司从存储在 Microsoft Access 中的多个系统表中调用数据的首选方法. 踢球者 - IT 项目负责人没有可供我们使用的替代方法。其中一些表太大而无法复制到我们的 SQL 服务器中。
我不知所措。我四处搜寻,运气不佳。非常感谢这里的任何帮助。
sql - 带有 XML 数据的 Openquery:“<”附近的语法不正确
我有这个代码:
PRINT @SqlCommand 的一部分是:
而且,EXEC sp_ExecuteSQL @SqlCommand;
我得到:
Incorrect syntax near '<'
.
我究竟做错了什么?
sql - 带有 openquery 的临时表的 SQL 对象名称无效
SQL查询如下:
该语句运行良好,直到插入临时表。结果显示“已插入 49134 行”。但是,错误显示“无效的对象名称 #Order”,它确实存在于 Tempdb 中。
mysql - 从链接服务器 (MySQL) 表更新本地 MS SQL 表
我正在尝试从链接服务器表 (MySQL) 更新本地 MSSQL 表。
两台服务器上的表具有相同的列。这些表之间的唯一区别是 MSSQL 表employer
的名称是和 MySQL 表的名称是。两者employees
都有 4 列,分别命名为id
、和。col1
col2
[datetime]
我正在尝试employer
从 MySQL 表中更新 MSSQL 表的行,其中行的值基于键(假设id
)不同。
基本上,当 MySQL 表更新时,我正在尝试更新 MSSQL 雇主表。它们必须相同。
感谢您的任何帮助!