问题标签 [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 回答
262 浏览

linked-list - 尝试为链接服务器创建数据源视图时使用的正确语法是什么?

我已经尝试了几个语句,但这个至少返回数据.. 但我收到错误消息:无法准备延迟准备。')' 附近的语法不正确。关键字“DECLARE”附近的语法不正确。创建命名查询时执行以下语句:

我是链接服务器和 SSAS 的新手。这是我们公司的第一个来自链接服务器的 Cube。我的查询确实在 Management Studio 中运行并创建了一个 SSRS 报告,但速度很慢。任何的意见都将会有帮助。在网络上没有太多关于这种情况的语法信息。我一直在寻找任何这种情况,除了尝试在服务器上进行更改之外没有找到太多帮助。EX:确保 openrowset 已打开并重新安装 OWC 组件。我没有那个能力。

0 投票
2 回答
14901 浏览

mysql - 使用带有 MySQL 链接服务器的 openquery 宽 varchar 字段导致“不支持请求的转换”错误

我正在尝试使用将表从 MySql 迁移到 MSSQL,openquery但我不断收到以下错误消息:

我试图运行的 SQL 查询:

openquery已经复制了几张桌子,但这一张欺骗了我。

在数据库的两侧,该description字段是varchar(8000). 在 MySql 中没有描述为空的行,最长的描述只有 5031 个字符。

我尝试在 MySql 中创建一个具有相同数据结构的新视图,但得到了相同的错误。我无法确定哪一行的描述字段无效,因为该表包含超过 65000 行。

我还尝试将数据转储到 SQL 文件中,但我进入OutOfMemoryException了 Management Studio。转储的 sql 文件本身约为 60 MB。

迁移此数据的任何建议或其他方式?

提前致谢!

0 投票
2 回答
24010 浏览

sql - 如何在 TSQL 中测试linkedserver 的连接性

我需要编写一个程序来从多个远程服务器收集数据,

我使用linkedservers 和OPENQUERY 从服务器收集数据,但有时我会失去与某些服务器的连接,或者我根本无法连接它们(例如远程服务器离线)——在这些情况下,OPENQUERY 会导致超时。

所以我想先检查linkedservers的连接性,然后如果它成功运行查询,如果不是就移动到下一个远程服务器。

我试图将 OPENQUERY 放在 TRY - CATCH 中,但它仍然返回超时错误,sp_testlinkedserver 过程也返回超时错误。

我真的很感激任何帮助。

0 投票
2 回答
4823 浏览

mysql - 使用链接服务器 MySQL 插入错误

我使用带有以下提供程序字符串的 ODBC 驱动程序创建了一个链接服务器

我的链接服务器名为 MYSQL。如果我以这种方式选择和更新它可以正常工作

当我尝试使用以下语法执行插入时

我有以下错误

0 投票
2 回答
2298 浏览

sql-server-2005 - MySQL 如何选择 OpenQuery Not In 语句

下面的语句将从 OpenQuery(MYSQL) 返回值。

我想在结果值应该出现的地方反转它 dbo.ResearchRpt

谢谢。

0 投票
2 回答
8716 浏览

sql-server-2005 - OPENQUERY 字符串中的存储过程/SQL 变量

我在存储过程中使用 OPENQUERY(从链接服务器获取数据)时遇到问题。我一直在阅读 SQL 变量,但似乎无法让它工作,所以也许我误解了 SQL 中的变量/字符串。它抛出错误“'+'附近的语法不正确”。而且我不确定我做错了什么。

编码:

从理论上讲,这应该可行吗?

0 投票
3 回答
7044 浏览

mysql - SQL server openquery - “键列信息不足或不正确。更新影响的行太多。”

我正在尝试从 Micrsoft SQL 服务器运行删除查询以清除远程 mySQL 表中的表。

查询是:

这是返回错误:

链接服务器“WEB_DB”的 OLE DB 提供程序“MSDASQL”返回消息“键列信息不足或不正确。更新影响了太多行。”。消息 7345,级别 16,状态 1,第 1 行链接服务器“WEB_DB”的 OLE DB 提供程序“MSDASQL”无法从表“select id,university_name,college_name from table_name”中删除。更新不符合架构要求。

用于创建表的 SQL 如下:

有趣的是,它似乎确实删除了远程数据库记录的某些部分,应该有 ~900,第一次运行删除命令会将其减少到 ~700,所以看起来限制大约是 200 行?!

非常感谢任何帮助。

谢谢乔娜

0 投票
1 回答
880 浏览

sql-server - SQL Server 存储过程缓存

我正在尝试通过两种不同的方法执行相同的选择。

首先通过使用存储过程的表值函数

openquery是通过执行存储过程

问题是我得到了各种结果,我认为问题出在存储过程缓存中。谁能帮我这个?

0 投票
2 回答
38438 浏览

sql-server-2008 - 在 SQL Server 中远程调用表值函数的解决方法有更多问题

我有一个带有一组参数的查询,这些参数需要使用不同的参数多次运行,所以我将它包装在一个表值函数中。

该表值函数需要从远程服务器调用。不幸的是,链接服务器上的调用失败并出现错误:

Microsoft 承认“远程调用表值函数”是 SQL Server 2008 中遗漏的一个功能。请参阅:http ://connect.microsoft.com/SQLServer/feedback/details/276758/remote-table-valued-function -不允许通话

我发现了一种使用 OPENQUERY 语法的解决方法,它允许查询在远程服务器上本地运行,然后返回结果集。请参阅:http ://social.msdn.microsoft.com/Forums/en/transactsql/thread/7a6e4aa1-630b-4ad5-aee5-15139987adbd

不幸的是,这个解决方法需要一个解决方法,因为它需要一个字符串作为参数,这意味着你不能使用 OPENQUERY 语法传递一个变量,你甚至不能在其中连接一个字符串,就像你想包含你的变量一样想要传递给远程表值函数。变通方法的变通方法是使用动态 SQL 显式构建 OPENQUERY 查询,确保将正常字符串传递给它。请参阅:http ://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/0847ad24-0dfe-4ae1-9788-5516c7830f40/

然而,另一个问题由此产生。即使确保所有引号、双引号和四引号都正确嵌入,以便整个事情可以通过 exec sp_executesql 传递,仍然存在问题:

当查询最终调用表值函数时,我收到错误:

我不确定为什么会收到此错误,因为我的用户名存在映射,如果我只是用实际表替换表值函数,它会很好地返回结果。OPENQUERY 语句会出现问题,无论它是否使用 sp_executesql 执行,正如我所说,它仅在调用表值函数时发生。

任何想法如何解决这个问题?

0 投票
1 回答
1224 浏览

tsql - 在 guid 上将 sql 表与活动目录用户连接起来的棘手问题

好的,所以我们在 SQL 中有一些表,它们通过活动目录中的 Guid 来识别用户。最初开发团队只想在 sql 中镜像用户群,但经理坚持我们将其保存在活动目录中。因此,无论如何,我们尝试执行的操作之一是从 SQL 中获取一个包含用户 Guid 和一些其他信息的表,并将其连接到一个从 openquery 到 AD 生成的表中。

问题是,如果用户从 AD 中删除,则打开的查询会呕吐。我假设这是因为我们试图导航到活动目录中不存在的条目,并且由于它不是实际的查询(本质上是索引),所以它爆炸了。这是我们用来拉取用户的 ldap 字符串

或者更具体地说,类似

现在,如果这是一个查询而不是索引,或者在这种情况下是一个“过滤器”,(objectGuid=x) 将简单地不返回任何结果而不是引发错误。但这里的问题是 objectGuid 不会作为 guid 返回到 SQL,它作为二进制 0x102938102938 或一些垃圾返回。现在,我想也许将 Guid 转换为十六进制,然后转换为二进制,然后尝试用它来查询 AD,但我什至不知道从哪里开始。

所以我想这里的最终问题是:我如何通过 guid 查询用户的活动目录,如果该 guid 不存在,它不会抛出错误?这样我可以将它加入到 sql 查询中吗?这需要在 T-SQL 中实现,而不是在使用 .net DirectoryServices 帮助器的代码中实现。

如果这看起来很分散,我很抱歉,我只是想把我们一直在处理的事情放在这里。任何意见表示赞赏,包括采取不同路线的建议。TIA