<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Чудо{вищные} заметки &#187; mssql</title>
	<atom:link href="http://miracle.rpz.name/tag/mssql/feed/" rel="self" type="application/rss+xml" />
	<link>http://miracle.rpz.name</link>
	<description>Sorry for my terrible english. My native language is PHP.</description>
	<lastBuildDate>Thu, 12 Jan 2012 20:42:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19719</generator>
		<item>
		<title>NULL без палочки</title>
		<link>http://miracle.rpz.name/2008/01/23/null-and-linked-mssql-servers/</link>
		<comments>http://miracle.rpz.name/2008/01/23/null-and-linked-mssql-servers/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 20:47:16 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/2008/01/23/null-and-linked-mssql-servers/</guid>
		<description><![CDATA[Второй раз сталкиваюсь с неспортивным поведением со стороны MSSQL. И дабы встретив третий не тратить на него полдня документирую. Имеется: два слинкованных MSSQL-сервера подключение к одному из них хранимая процедура на другом Требуется: вызвать эту процедуру c набором параметров и получить результат. Решение: exec LINKED_SERVER.SELECTED_DATABASE.dbo.procedure_name @param_2=value, @param_1=value, @param_3=value… Ничего не предвещает беды. Небо чистое, коннект [...]]]></description>
			<content:encoded><![CDATA[<p>Второй раз сталкиваюсь с неспортивным поведением со стороны MSSQL. И дабы встретив третий не тратить на него полдня документирую.</p>
<p><em>Имеется:</em></p>
<ol>
<li>два <strong>слинкованных MSSQL-сервера</strong></li>
<li>подключение к одному из них</li>
<li>хранимая процедура на другом</li>
</ol>
<p><em>Требуется:</em></p>
<ul>
<li>вызвать эту процедуру c набором параметров и получить результат.</li>
</ul>
<p><em>Решение:</em></p>
<blockquote><p>exec LINKED_SERVER.SELECTED_DATABASE.dbo.procedure_<span>name @param_2=value, @param_1=value, @param_3=value…</span></p></blockquote>
<p><strike>Ничего не предвещает беды. Небо чистое, коннект уверенный, лаг умеренный… и тут&#8230; растёт напряжение, давит тишина, в жилах стынет кровь и появляется леденящий душу ПИЗДЕЦ!</strike></p>
<p>Я не случайно параметры написал &#8220;вразнобой&#8221;. Казалось бы ничего криминального &#8211; они же именованы. И всё отлично покуда все параметры принимают какие-либо значения. Но как только окажется что <em>@param_2=null</em> (или @param_1) вы будете приятно удивлены загадочными сообщениями вроде &#8220;а почему это параметр_2 не передан?&#8221; или &#8220;зачем параметр_1 ты передал мне два раза?&#8221;. И будете долго  биться в истерике, когда окажется, что выполняя запрос сразу на нужном сервере, вы получаете нормальный результат без каких-либо сообщений об ошибках. Мистика?</p>
<p>Как удалось выяснить &#8211; параметр, который null на линкованный сервер попадает уже без имени (т.е. не <em>&#8220;@param_2=null,  @param_1=value, @param_2=value&#8221;</em>, a <strong>&#8220;NULL, @param_1=value, @param_3=value&#8221;</strong> и как следствие &#8211; этот самый NULL в данном случае будет считаться первым входным параметром в процедуре…</p>
<p>Решение было тривиальным(и глупым) &#8211; вынести все параметры, которые могут быть <strong>null</strong>, в конец объявления. Но если кто-то объяснит суть описываемого явления, и красивый выход из такого положения &#8211;  буду очень признателен.</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2008/01/23/null-and-linked-mssql-servers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>чтоб тебе пусто было!</title>
		<link>http://miracle.rpz.name/2008/01/19/php-mssql-empty-or-not-empty-this-is-a-question/</link>
		<comments>http://miracle.rpz.name/2008/01/19/php-mssql-empty-or-not-empty-this-is-a-question/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 14:39:33 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[mssql]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/2008/01/19/php-mssql-empty-or-not-empty-this-is-a-question/</guid>
		<description><![CDATA[Коллега(привет Денис) столкнулся с багом в php-mssql, который может съесть ваш мозг. Предупреждаю &#8211; пустые строки вовсе не пустые! Говорят это ошибка в либе, хотя и воспроизводиться и в win и в *nix (т.е. либы разные). Написал разработчику &#8211; а вдруг поможет. А пока имейте ввиду &#8211; если в resultset могут быть пустые строки &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Коллега(привет Денис) столкнулся с багом в php-mssql, который может съесть ваш мозг.</p>
<p>Предупреждаю &#8211; <a href="http://bugs.php.net/bug.php?id=31641" title="php-bug #31641">пустые строки вовсе не пустые</a>! Говорят это ошибка в либе, хотя и воспроизводиться и в win и в *nix (т.е. либы разные). Написал разработчику &#8211; а вдруг поможет.</p>
<p>А пока имейте ввиду &#8211; если в resultset могут быть пустые строки &#8211;  надо их сделать таковыми самостоятельно (примерно так: $row[&quot;field&quot;] = ($row[&quot;field&quot;] != &quot; &quot;) ? $row[&quot;field&quot;] : &quot;&quot;;) &#8211; разумеется, если у вас за каким-то лесом в базе храняться одиночные пробелы, вам очень не повезло ;o)</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2008/01/19/php-mssql-empty-or-not-empty-this-is-a-question/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SQL Server 2005 Driver for PHP</title>
		<link>http://miracle.rpz.name/2007/10/16/sql-server-2005-driver-for-php/</link>
		<comments>http://miracle.rpz.name/2007/10/16/sql-server-2005-driver-for-php/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 09:49:50 +0000</pubDate>
		<dc:creator>MiRacLe</dc:creator>
				<category><![CDATA[DailyWTF]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[mssql]]></category>

		<guid isPermaLink="false">http://miracle.rpz.name/?p=69</guid>
		<description><![CDATA[В тайге вымерли все медведи. А виноваты в этом эти ребятки. Extension пока недокументирован. Список функций мало чем отличается от имеющегося. Зачем понадобилось писать свой драйвер? Почему нельзя было приложить вектор усилий к доработке существующего ? А в существующем есть две беды, которые мне мешают: Ограничение на длину varchar &#8211; 255. Это &#8220;лечиться&#8221; только конвертированием [...]]]></description>
			<content:encoded><![CDATA[<p>В тайге вымерли все медведи. А виноваты в этом <a href="http://blogs.msdn.com/sqlphp/">эти ребятки</a>.</p>
<p>Extension пока недокументирован. Список функций мало чем отличается от имеющегося.</p>
<p>Зачем понадобилось писать свой драйвер? Почему нельзя было приложить вектор усилий к доработке <a href="http://php.net/mssql">существующего</a> ?</p>
<p>А в существующем есть две беды, которые мне мешают:</p>
<ol>
<li>Ограничение на длину varchar  &#8211; 255. Это &#8220;лечиться&#8221; только конвертированием в text.</li>
<li>&#8220;Неработа&#8221; в persistent-mode, которая заключается в том, что сервер (веб в первую очередь, sql потом) зависает после некоторого времени работы с mssql_pconnect (Богдан привет ;o) ).</li>
</ol>
<p>Корни второй проблемы я кажется нашёл &#8211; <a href="http://bugs.php.net/bug.php?id=42584">bug#42584</a>, но толи проблема беcпокоит только меня, толи не столь сильно беспокоит других. Маленькая просьба к почитателям этого поста &#8211; проголосуйте за важность этого бага (если он вам не безразличен разумеется).</p>
]]></content:encoded>
			<wfw:commentRss>http://miracle.rpz.name/2007/10/16/sql-server-2005-driver-for-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: miracle.rpz.name @ 2012-02-06 18:01:24 by W3 Total Cache -->
