<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Параметры в DB.QueryResult]]></title><description><![CDATA[<p dir="auto">Всем привет!</p>
<p dir="auto">Попробовали оптимизировать работу с запросами и добавить параметр как описано в анонсе и документации:<br />
<a href="/post/13923">https://www.netxms.org/forum/announcements/netxms-1-2-14-released/msg13923/#msg13923</a></p>
<p dir="auto">Но что-то не получилось в логе:</p>
<blockquote>
<p dir="auto">[18-Jun-2015 17:50:42.538] [DEBUG] [session:0] Received message CMD_GET_PARAMETER<br />
[18-Jun-2015 17:50:42.538] [DEBUG] [session:0] Requesting parameter "DB.QueryResult(checksensor(1))"<br />
[18-Jun-2015 17:50:42.538] [DEBUG] [session:0] GetParameterValue(): result is 404 (UNKNOWN_PARAMETER)<br />
[18-Jun-2015 17:50:42.538] [DEBUG] [session:0] Sending message CMD_REQUEST_COMPLETED (size 32)<br />
[18-Jun-2015 17:50:43.569] [DEBUG] [session:0] Message dump:<br />
  ** 000300000000001000000A2D00000000<br />
  ** code=0x0003 (CMD_KEEPALIVE) flags=0x0000 id=2605 size=16 numFields=0</p>
</blockquote>
<p dir="auto">Запрос задан как:</p>
<blockquote>
<p dir="auto">Query = checksensor:dbname:check the status of sensor:SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM .... where ... <strong>param1</strong></p>
</blockquote>
<p dir="auto">Вызывается как:</p>
<blockquote>
<p dir="auto">DB.QueryResult(checksensor(1))</p>
</blockquote>
<p dir="auto">Версия 1.2.14. Подскажите, пожалуйста, что может быть не так?</p>
]]></description><link>https://forum.netxms.org/topic/3829/параметры-в-db.queryresult</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 07:24:23 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/3829.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Jun 2015 13:03:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Tue, 18 Aug 2015 09:45:16 GMT]]></title><description><![CDATA[<p dir="auto">Я советую обновить этот агент до 2.0-M3 или выше, поскольку в 2.0-M3 были исправления в параметризованных запросах.</p>
]]></description><link>https://forum.netxms.org/post/17574</link><guid isPermaLink="true">https://forum.netxms.org/post/17574</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 18 Aug 2015 09:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Tue, 18 Aug 2015 09:34:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/victor" aria-label="Profile: victor">@<bdi>victor</bdi></a> said in <a href="/post/17562">Параметры в DB.QueryResult</a>:</p>
<blockquote>
<p dir="auto">Ставить знак вопроса. Первый параметр подставится в первый знак вопроса, второй во второй, и т.д. Например:</p>
<p dir="auto">SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM .... WHERE ... condition_column=?</p>
</blockquote>
<p dir="auto">Спасибо за подсказку. Попробовали, но из наблюдений параметр не передается в запрос.</p>
<p dir="auto">изменили запрос на:</p>
<blockquote>
<p dir="auto">SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM ... where ... and objid in (<strong>?</strong>) ORDER BY ...</p>
</blockquote>
<p dir="auto">в Data Collection вызываем его как  checksensor(1)</p>
<p dir="auto">но в журнале появляется ошибка:</p>
<blockquote>
<p dir="auto">[ERROR] SQL query failed (Query = "SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM ... where ... and objid in (?) ORDER BY ... "): [Microsoft][SQL Server Native Client 10.0]COUNT field incorrect or syntax error</p>
</blockquote>
<p dir="auto">В конфиги он создается как:</p>
<blockquote>
<p dir="auto">ConfigurableQuery = checksensor:testdb:test query:SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM ... where ... and objid in (?) ORDER BY ....'')</p>
</blockquote>
<p dir="auto">Версия: 1.2.14.</p>
]]></description><link>https://forum.netxms.org/post/17571</link><guid isPermaLink="true">https://forum.netxms.org/post/17571</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Tue, 18 Aug 2015 09:34:57 GMT</pubDate></item><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Tue, 18 Aug 2015 06:21:15 GMT]]></title><description><![CDATA[<p dir="auto">Ставить знак вопроса. Первый параметр подставится в первый знак вопроса, второй во второй, и т.д. Например:</p>
<p dir="auto">SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM .... WHERE ... condition_column=?</p>
]]></description><link>https://forum.netxms.org/post/17562</link><guid isPermaLink="true">https://forum.netxms.org/post/17562</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 18 Aug 2015 06:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Tue, 18 Aug 2015 06:05:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/victor" aria-label="Profile: victor">@<bdi>victor</bdi></a> said in <a href="/post/17492">Параметры в DB.QueryResult</a>:</p>
<blockquote>
<p dir="auto">Попробуйте прописать в конфиге агента как ConfigurableQuery - должен появится новый параметр checksensor к которому можно будет обратится как checksensor(1)</p>
</blockquote>
<p dir="auto">Спасибо за подсказку, изменили тип запроса на ConfigurableQuery. Теперь запрос можно вызвать как checksensor(1).</p>
<p dir="auto">Но каким образом описать ПАРАМЕТР в самом запросе, такой вариант не сработал:</p>
<blockquote>
<p dir="auto">SELECT STUFF ( (SELECT top 5 ';' + objid + ',' + action + ',' + CONVERT(varchar(10),DATEDIFF(s,'1970-01-01', DATEADD(second, DATEDIFF(second, GETDATE(), GETUTCDATE()), date))) FROM .... where ... <strong>param1</strong></p>
</blockquote>
<p dir="auto">Т.е. непонятно как в запросе описать сам параметр?</p>
]]></description><link>https://forum.netxms.org/post/17561</link><guid isPermaLink="true">https://forum.netxms.org/post/17561</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Tue, 18 Aug 2015 06:05:00 GMT</pubDate></item><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Thu, 06 Aug 2015 10:19:27 GMT]]></title><description><![CDATA[<p dir="auto">Попробуйте прописать в конфиге агента как ConfigurableQuery - должен появится новый параметр checksensor к которому можно будет обратится как checksensor(1)</p>
]]></description><link>https://forum.netxms.org/post/17492</link><guid isPermaLink="true">https://forum.netxms.org/post/17492</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Thu, 06 Aug 2015 10:19:27 GMT</pubDate></item><item><title><![CDATA[Reply to Параметры в DB.QueryResult on Mon, 03 Aug 2015 07:28:26 GMT]]></title><description><![CDATA[<p dir="auto">Коллеги, у кого есть идеи ??? Спасибо!</p>
]]></description><link>https://forum.netxms.org/post/17432</link><guid isPermaLink="true">https://forum.netxms.org/post/17432</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Mon, 03 Aug 2015 07:28:26 GMT</pubDate></item></channel></rss>