﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / Perl  / значение Null для параметра объекта ADODB.Command / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Fri, 05 Sep 2008 18:34:45 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: значение Null для параметра объекта ADODB.Command</title><link>http://www.relib.com/forums/Topic754046-18-1.aspx</link><description>Тема закрыта. Со всем разобрался. Обращайтесь - ответьте в этой теме.</description><pubDate>Tue, 02 Jul 2002 13:59:00 GMT</pubDate><dc:creator>rlux</dc:creator></item><item><title>RE: значение Null для параметра объекта ADODB.Command</title><link>http://www.relib.com/forums/Topic754046-18-1.aspx</link><description>да, конечно&lt;BR&gt;и параметру я изменяю аттрибуты &lt;BR&gt;[code]&lt;BR&gt;$cmd-&amp;gt;Parameters(1)-&amp;gt;{Attributes} = adParamNullable | adParamLong;&lt;BR&gt;[/code]&lt;BR&gt;&lt;BR&gt;Кроме того, вылез еще один глюк. Когда пытаюсь передать параметр adLongVarBinary - в поле типа image, то он (объект ADODB.Command или Win32::OLE - не уверен) преобразует данные каким-то странным образом, так, что их длина становится в 2 раза больше. Например&lt;BR&gt;[code]&lt;BR&gt;my $content;&lt;BR&gt;open IN, $dir.$file_name;&lt;BR&gt;binmode IN;&lt;BR&gt;sysread IN, $content, -s IN;&lt;BR&gt;close IN;&lt;BR&gt;&lt;BR&gt;$cmd-&amp;gt;Parameters(1)-&amp;gt;{Attributes} = adParamNullable | adParamLong;&lt;BR&gt;#$cmd-&amp;gt;Parameters(1)-&amp;gt;{Value} = Variant(VT_UI1|VT_ARRAY, $content);&lt;BR&gt;$cmd-&amp;gt;Parameters(1)-&amp;gt;{Type} = adLongVarBinary;&lt;BR&gt;$cmd-&amp;gt;Parameters(1)-&amp;gt;{Value} = scalar $content;&lt;BR&gt;[/code]&lt;BR&gt;После этого оказывается, что &lt;BR&gt;$cmd-&amp;gt;Parameters(1)-&amp;gt;{Size} == 2*length($content)&lt;BR&gt;Что делать, непонятно...  :((</description><pubDate>Mon, 01 Jul 2002 08:59:00 GMT</pubDate><dc:creator>rlux</dc:creator></item><item><title>RE: значение Null для параметра объекта ADODB.Command</title><link>http://www.relib.com/forums/Topic754046-18-1.aspx</link><description>В таблице на mssql поле &amp;quot;allow nulls&amp;quot;?</description><pubDate>Sun, 30 Jun 2002 18:22:00 GMT</pubDate><dc:creator>sunex</dc:creator></item><item><title>значение Null для параметра объекта ADODB.Command</title><link>http://www.relib.com/forums/Topic754046-18-1.aspx</link><description>Использую ActivePerl и через Win32::OLE, ADO объекты коннекчусь к MS SQL.&lt;BR&gt;Не могу поставить значение Null в параметры вышеуказанному объекту Command.&lt;BR&gt;&lt;BR&gt;Код:&lt;BR&gt;[code]$cmd-&amp;gt;Parameters($i)-&amp;gt;{Value} = &amp;quot;Null&amp;quot;;[/code]&lt;BR&gt;- ошибку:&lt;BR&gt;[code]Application uses a value of the wrong type for the current operation.[/code]&lt;BR&gt;&lt;BR&gt;а код:&lt;BR&gt;[code]$cmd-&amp;gt;Parameters($i)-&amp;gt;{Value} = Variant(VT_DATE, &amp;quot;NULL&amp;quot;);[/code]&lt;BR&gt;Вызывает ошибку:&lt;BR&gt;[code]Item cannot be found in the collection corresponding to the requested name or ordinal.[/code]&lt;BR&gt;&lt;BR&gt;Буду благодарен, если кто-нибудь поделиться, как передавал NULL-овые значения в Win32::OLE объекты.</description><pubDate>Sat, 29 Jun 2002 21:19:00 GMT</pubDate><dc:creator>rlux</dc:creator></item></channel></rss>