<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Jaros&#322;aw Zabie&#322;&#322;o - BLOG: Tag oracle</title>
    <link>http://blog.zabiello.com/articles/tag/oracle</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>moje notatki, linki, komentarze</description>
    <item>
      <title>Oracle, Rails i Mac OS X</title>
      <description>&lt;p&gt;Dzi&#347; postanowi&#322;em zainstalowa&#263; na swoim maczku (&#347;migaj&#261;cym na nowym Leopardzie) obs&#322;ug&#281; bazy Oracle dla Ruby on Rails. Niestety aby to by&#322;o mo&#380;liwe trzeba wpierw zainstalowa&#263;  sobie klienta do Oracle. &#346;ci&#261;ganie grubo ponad 300MB tylko po to, aby mo&#380;na by&#322;o skompilowa&#263; driver&amp;#8230; Nic to. Drobnostka.&lt;/p&gt;


	&lt;p&gt;To niby ma by&#263; instalacja dla &lt;span class="caps"&gt;OSX&lt;/span&gt;&amp;#8230; Oracle nic si&#281; nie nauczy&#322; na temat tego, jak powinni by&#263; instalowane programy na Mac &lt;span class="caps"&gt;OS X&lt;/span&gt;. Udost&#281;pni&#322; jaki&#347; obskurny skrypt. Nic to. Odpalam go (profilaktycznie robi&#281; to na prawach root&amp;#8217;a) i co otrzymuj&#281;?&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;sh&lt;/span&gt;&lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3.2&lt;/span&gt;&lt;span class="comment"&gt;# ./runInstaller &lt;/span&gt;
&lt;span class="punct"&gt;./&lt;/span&gt;&lt;span class="regex"&gt;runInstaller: line 59: &lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;Users&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;ja&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Desktop&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Oracle&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt; &lt;span class="constant"&gt;No&lt;/span&gt; &lt;span class="ident"&gt;such&lt;/span&gt; &lt;span class="ident"&gt;file&lt;/span&gt; &lt;span class="keyword"&gt;or&lt;/span&gt; &lt;span class="ident"&gt;directory&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;Hmm, brakuje mu katalogu? No to tworzymy. Pr&#243;ba druga:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;sh&lt;/span&gt;&lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3.2&lt;/span&gt;&lt;span class="comment"&gt;# mkdir /Users/ja/Desktop/Oracle&lt;/span&gt;
&lt;span class="ident"&gt;sh&lt;/span&gt;&lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3.2&lt;/span&gt;&lt;span class="comment"&gt;# ./runInstaller &lt;/span&gt;
&lt;span class="punct"&gt;./&lt;/span&gt;&lt;span class="regex"&gt;runInstaller: line 59: &lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;Users&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;ja&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Desktop&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Oracle&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt; &lt;span class="ident"&gt;is&lt;/span&gt; &lt;span class="ident"&gt;a&lt;/span&gt; &lt;span class="ident"&gt;directory&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;No prosz&#281;, gdyby nie skrypt Oracle&amp;#8217;a to bym nigdy si&#281; nie domy&#347;li&#322;, &#380;e stworzylem przed chwil&#261; katalog&amp;#8230; OK. Kasuj&#281; i tworz&#281; pusty plik. Pr&#243;ba trzecia:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;sh&lt;/span&gt;&lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3.2&lt;/span&gt;&lt;span class="comment"&gt;# touch  /Users/ja/Desktop/Oracle&lt;/span&gt;
&lt;span class="ident"&gt;sh&lt;/span&gt;&lt;span class="punct"&gt;-&lt;/span&gt;&lt;span class="number"&gt;3.2&lt;/span&gt;&lt;span class="comment"&gt;# ./runInstaller &lt;/span&gt;
&lt;span class="punct"&gt;./&lt;/span&gt;&lt;span class="regex"&gt;runInstaller: line 59: &lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;Users&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="ident"&gt;ja&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Desktop&lt;/span&gt;&lt;span class="punct"&gt;/&lt;/span&gt;&lt;span class="constant"&gt;Oracle&lt;/span&gt;&lt;span class="punct"&gt;:&lt;/span&gt; &lt;span class="constant"&gt;Permission&lt;/span&gt; &lt;span class="ident"&gt;denied&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;No teraz, to r&#281;ce mi opad&#322;y. B&#281;d&#261;c skrypt krzyczy &#380;e nie mam dost&#281;pu mimo, &#380;e mam wszelkie mo&#380;liwe dost&#281;py jako root. Czy ten skrypt przygotowywa&#322; jaki&#347; idiota? Wpierw marudzi &#380;e nie ma pliku lub katalogu. Jak stworz&#281; katalog to mu nie pasuje &#380;e to katalog. A jak stworz&#281; plik to nie mam do niego dost&#281;pu mimo, &#380;e jestem na prawach root&amp;#8217;a.&lt;/p&gt;


	&lt;p&gt;Na razie daj&#281; sobie spok&#243;j. Chyba odpal&#281; VMware i Linuksa, mo&#380;e tam zadzia&#322;a.&lt;/p&gt;


	&lt;p&gt;Jak ju&#380; jestem przy temacie Oracle&amp;#8217;a, to podobno to jest ca&#322;kiem dobra baza pod warunkiem, &#380;ekto&#347; po&#347;wi&#281;ci miesi&#261;c czasu na odpowiedni&#261; jej konfiguracj&#281;. :) Ale powa&#380;niej. Nie mog&#281; zrozumie&#263; dlaczego Oracle puste teksty w polu traktuje tak jak &lt;span class="caps"&gt;NULL&lt;/span&gt;. Je&#347;li mam pole typu tekstowego i zawiera pusty napis to kwerenda &lt;code&gt;SELECT * FROM tab WHERE pole=''&lt;/code&gt; &lt;strong&gt;nic nie znajdzie&lt;/strong&gt;. Trzeba u&#380;y&#263; sk&#322;adni &lt;code&gt;SELECT * FROM tab WHERE *pole IS NULL*&lt;/code&gt;. Jaki&#347; idiotyzm. &#379;eby by&#322;o &#347;mieszniej, w manualu do MySQL 5 napisali, &#380;e &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/problems-with-null.html"&gt;tylko osoby pocz&#261;tkuj&#261;ce w &lt;span class="caps"&gt;SQL&lt;/span&gt; myl&#261;&lt;/a&gt; puste stringi z warto&#347;ciami &lt;span class="caps"&gt;NULL&lt;/span&gt;. Ubaw po pachy.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;The concept of the &lt;span class="caps"&gt;NULL&lt;/span&gt; value is a common source of confusion for &lt;strong&gt;newcomers to &lt;span class="caps"&gt;SQL&lt;/span&gt;&lt;/strong&gt;, who often think that &lt;span class="caps"&gt;NULL&lt;/span&gt; is the same thing as an empty string &amp;#8217;&amp;#8217;.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;Nie rozumiem r&#243;wnie&#380; dlaczego Oracle nie potrafi zrobi&#263; &lt;span class="caps"&gt;GROUP BY&lt;/span&gt; dla aliasu pola? Ale nic, to. To pewnie dopiero pocz&#261;tek zabawy z Oraclem na kt&#243;rego migrujemy z &amp;#8220;zabawkowego&amp;#8221; MySQL. Ju&#380; teraz widz&#281; &#380;e czeka nas ci&#281;&#380;kie przepisywanie kwerend &lt;span class="caps"&gt;SQL&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; Jak ju&#380; nic nie pomaga, to zagl&#261;da si&#281; do helpu, he he. No to zajrza&#322;em. A tam wielostronicowa, durna instrukcja obs&#322;ugi jak zainstalowa&#263; klienta Oracle&amp;#8217;a. Trzeba potworzy&#263; jakie&#347; grupy, user&#243;w. Tylko si&#281; utwierdzi&#322;em w tym co napisa&#322;em. Instalacj&#281; do Oracle przygotowa&#322;a jaka&#347; grupa idiot&#243;w. Co za problem, aby to zautomatyzowa&#263;? Pod windoz&#261; instalacja Oracle (i to ca&#322;ej bazy a nie tylko klienta) jest kwesti&#261; paru klikni&#281;&#263;.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Nov 2007 16:26:00 +0100</pubDate>
      <guid isPermaLink="false">urn:uuid:788fbfc7-d232-4526-8897-3953a5be1999</guid>
      <author>Jaros&#322;aw Zabie&#322;&#322;o</author>
      <link>http://blog.zabiello.com/articles/2007/11/01/oracle-rails-i-mac-os-x</link>
      <category>oracle</category>
      <category>rails</category>
      <category>leopard</category>
      <category>apple</category>
      <category>osx</category>
    </item>
  </channel>
</rss>
