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

windows-authentication - 使用 OPENROWSET、OPENQUERY 为数据访问配置 SQL Server 实例

我在运行 Windows 7 x-64 的独立非联网开发 PC 上安装了 SQL Server 2012 完整版。假设 FOO 是我的 PC 的名称,而我的 SQL Server 命名实例是 FOO\SQL2012。

我正在尝试按照此处的示例进行操作,这些示例显示了如何使用存储过程作为数据源来创建新的临时表。

我想执行这些查询中的任何一个,但我得到了显示的错误。

或此查询:

无法确定元数据,因为每个代码路径都会导致错误;请参阅其中一些以前的错误。**

我将如何配置 SQL Server 实例以允许当前经过身份验证的用户(无论它可能是谁)对本地实例使用 OPENROWSET、OPENQUERY?

通过 Windows 进行身份验证的用户和通过 SQL Server 进行身份验证的用户是否需要这些查询的不同版本?

0 投票
4 回答
25336 浏览

metadata - 使用 OPENQUERY(执行存储过程)创建新临时表失败,错误 11526

我的开发 PC 上安装了 SQL Server 2012 完整版。

我正在尝试按照此处的示例进行操作,这些示例显示了如何使用存储过程作为数据源来创建新的临时表。我试图将几个存储过程的结果组合到一个临时表中(各种结果集的列结构/定义是相同的)。

为了测试管道是否正常工作,我发出以下查询:

但是我从那个简单的测试管道选择查询中得到了这个错误:

消息 11526,级别 16,状态 1,过程 sp_describe_first_result_set,第 1 行
无法确定元数据,因为语句 'insert #tmp(foo1, foo2, foo3) select 'O' as foo1, foo2, foo3' in procedure 'myStoredProc' 使用一个临时表。

如果我正确理解错误,OPENQUERY 取决于服务器能够从数据库中的持久定义中提取列数据类型,并且在我的存储过程中实例化的临时表是短暂的,缺少持久定义。如果是这种情况,是否有任何设置告诉 OPENQUERY 尽其所能并尝试对列数据类型进行智能猜测?

这是我正在测试的虚拟 SP:

0 投票
2 回答
33383 浏览

sql - 使用 Openquery 链接服务器更新表

我已经尝试过这段代码,但仍然出现以下错误,也许有人可以帮忙?

错误 :

链接服务器“NMIIFLIB”的 OLE DB 提供程序“MSDASQL”返回消息“[IBM][iSeries Access ODBC 驱动程序][DB2 UDB]SQL7008 - MVXCDTANSN 中的 MITMAS 对操作无效。”。
消息 7343,级别 16,状态 4,第 1 行
链接服务器“NMIIFLIB”的 OLE DB 提供程序“MSDASQL”无法更新表“[MSDASQL]”。

选择语句工作正常,但是当我尝试更新时,我总是坚持这一点。

0 投票
1 回答
1864 浏览

sql - 将 OPENQUERY 与动态创建的表一起使用

我有一个由四部分组成的链接服务器查询,该查询 LEFT OUTER JOINs 使用 UNION ALL 动态创建的表,类似于以下内容:

这很好用。但是,当我使用 OPENQUERY 函数运行相同的查询时,如下所示:

, LEFT OUTER JOIN 失败并且 s6 列仅包含 NULL。我知道我可以重写查询 #2 以使其工作,但我很好奇为什么它不能按照它的编写方式工作?是因为我不知道对 OPENQUERY 有一些限制吗?

0 投票
2 回答
3343 浏览

sql-server-2008 - Lotus Domino NotesSQL ODBC 和 SQL 2008 查询

我正在尝试从几个不同的来源获取相同的信息,但在尝试使用 NotesSQL 和 SQL 2008 时遇到了困难。我想做的是从 Domino 服务器上的几个不同视图中检索信息。一个视图是默认视图,另一个是创建的视图。

我使用的一种方法是 Powershell,我在其中获取数据库,然后选择视图,获取第一个文档,然后遍历我需要的其余视图抓取字段。我选择的视图是人物视图。

我试图使用 SQL 2008 复制同样的东西,使用 NotesSQL 驱动程序,设置 ODBC 连接,然后创建到该 Notes 数据库的链接服务器。我正在使用以下查询从人员视图中进行选择:

但是,当我使用 Powershell 并遍历该视图中返回的文档时,从该视图返回的内容不是我能够看到的。Powershell 在其中显示 100 多列,而 SQL 仅返回 5 列。此外,它们被命名为“_12”、“17”等。一些字段(可能是自定义的,我不知道)有一个有意义的名称。在显示的字段中,我可以按名称(“_12”等)选择它们,但不能选择其他任何内容。行数 (SQL) 与视图中的文档数 (Powershell $view.Allentries.Count) 相同。

查询已创建的视图(3 个字段):

返回该视图中的所有字段,它们的名称与视图中的一样。

在 T-SQL 查询 People 视图中,您如何获得我在 Powershell 脚本中发现的我知道的列的名称?它们似乎没有被命名为相同的东西,那么当您select *从视图中返回的 5 之外,您如何检索?我已通读 Notes 文档和示例,但无法弄清楚映射到何处。

这背后的原因是希望利用 SQL 和 notes.id 文件而不是运行脚本。另外,我想利用已经存在的全局视图,而不是只有作者才能访问的视图。

0 投票
1 回答
1465 浏览

oracle - SQL Server - 带有连接的 Oracle 链接服务器

野兔是场景:

主数据库服务器:SQL Server 2008 R2 与 Oracle 11g 的链接服务器。

我有一个存储过程,可以进行如下查询:

这变得非常缓慢。我无法弄清楚如何使用 OpenQuery 来改进查询,因为Where子句使用参数(如果甚至可以使用的话)。

有没有办法改进数据检索?我正在从 Oracle 数据库中检索数百万条记录。

非常感谢你。

0 投票
1 回答
2072 浏览

sql - openquery:数据格式

我正在尝试通过 SQL 服务器从 Oracle 检索数据,因此我正在使用 openquery,并且能够以这种方式获取日期间隔:

我怎样才能做类似的查询,但日期间隔将是yyyy-mm-dd hh:mm:ss格式并保留openquery???

0 投票
1 回答
1227 浏览

sql - SQL Openquery 动态参数

我试图在 T-SQL 的 Openquery 函数中包含一个参数。我过去成功地做到了这一点,但我当前的代码不合作:

问题在于

线。有人可以告诉我我做错了什么吗?

0 投票
1 回答
3563 浏览

sql-server - 尝试使用 OPENQUERY Msg 7321, Level 16, State 2, Line 1 时出错

当我运行这个查询

获取错误:

链接服务器“XXX”的 OLE DB 提供程序“DB2OLEDB”返回消息“令牌 %ŸFOR SKIP WITH FETCH ORDER UNION EXCEPT OPTIMIZE SQLSTATE: 42601, SQLCODE: -104”。

消息 7321,级别 16,状态 2,第 1 行错误

在准备查询“SELECT * FROM Database.Table WHERE (MBCONO=650) AND MBCUNO LIKE a%'”以针对链接服务器“LAWSON”的 OLE DB 提供程序“DB2OLEDB”执行时发生。

AND MBCUNO LIKE a% 但是当我运行没有返回结果的相同查询时 !

任何人都可以帮助我解决这个问题

谢谢

0 投票
1 回答
1236 浏览

stored-procedures - 使用 MDX 查询执行 sql SP 时出错

我正在使用 openquery 在 sql server 2008 存储过程中执行 MDX 查询。

我只是按照网站中查看的步骤进行操作。当我执行下面的查询时,它工作正常,但是使用存储过程它会出错。

并使用 SP 得到以下错误。

我在 SP 中编写的代码如下

我是分析服务和 MDX 的新手,所以如果你 fing=d 有任何错误,请纠正我。

谢谢你。