<?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>MinhTech.com</title>
	<atom:link href="http://minhtech.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://minhtech.com</link>
	<description>Yet another technology tutorial blog.</description>
	<lastBuildDate>Mon, 28 Dec 2009 16:04:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Oracle 11g Memory Max Target ORA-27103</title>
		<link>http://minhtech.com/oracle/oracle-11g-memory-max-target-ora-27103/</link>
		<comments>http://minhtech.com/oracle/oracle-11g-memory-max-target-ora-27103/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 17:46:06 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=680</guid>
		<description><![CDATA[Here is how to increase the Oracle 11g memory target parameters to more than 3 GB on 64-bit Linux.]]></description>
			<content:encoded><![CDATA[<p>Here is how to increase the Oracle 11g memory target parameters to more than 3 GB on 64-bit Linux.</p>
<h3>Ever Helpful: ORA-03113: end-of-file on communication channel:</h3>
<p>When attempting to increase the memory_max_target and memory_target parameters to a value over 3 GB, an ORA-03113 is triggered.</p>
<p class="code">SQL> <span class="input">startup</span><br />
ORA-03113: end-of-file on communication channel<br />
Process ID: <span class="codered">####</span><br />
Session ID: 170 Serial number: 3</p>
<h3>Check the Alert Log:</h3>
<p class="code">> <span class="input">vi $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log</span><br />
ALTER DATABASE   MOUNT<br />
Errors in file $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/$ORACLE_SID_mman_<span class="codered">####</span>.trc:<br />
ORA-27103: internal error<br />
Linux-x86_64 Error: 11: Resource temporarily unavailable<br />
Additional information: -1<br />
Additional information: 1<br />
MMAN (ospid: 8169): terminating the instance due to error 27103<br />
Instance terminated by MMAN, pid = <span class="codered">####</span></p>
<h3>Download and Install the Patch:</h3>
<p>This is an error specific to Oracle 11g version 11.1.0.7.0 (the patched version) on 64-bit Linux. Log into Metalink, and then download and install patch number 7272646, ORA-27103 WHEN MEMORY_TARGET > 3G, with the file name p7272646_11107_Linux-x86-64.zip.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/oracle/oracle-11g-memory-max-target-ora-27103/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lockdown WordPress File Permissions</title>
		<link>http://minhtech.com/wordpress/lockdown-wordpress-file-permissions/</link>
		<comments>http://minhtech.com/wordpress/lockdown-wordpress-file-permissions/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 20:49:10 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=620</guid>
		<description><![CDATA[Here is how to lockdown WordPress file permissions on a Linux server.]]></description>
			<content:encoded><![CDATA[<p>Here is how to lockdown WordPress file permissions on a Linux server.</p>
<h3>First, Set Default File Permissions:</h3>
<p class="code">> <span class="input">cd <span class="codered">/var/www/html</span></span><br />
> <span class="input">find . -type d -exec chmod 755 {} \;</span><br />
> <span class="input">find . -type f -exec chmod 644 {} \;</span></p>
<p>Navigate to the WordPress root directory.  For all sub-directories, grant full privileges to the owner, and then only read and execute privileges to all others. For files, grant full privileges to the owner, and then only the read privilege to all others.</p>
<h3>Next, Set Permissions for the Uploads Directory:</h3>
<p class="code">> <span class="input">cd <span class="codered">/var/www/html</span>/wp-content</span><br />
> <span class="input">chmod 777 uploads</span><br />
> <span class="input">cd uploads</span><br />
> <span class="input">find . -type d -exec chmod 777 {} \;</span><br />
> <span class="input">find . -type f -exec chmod 666 {} \;</span></p>
<p>WordPress intended this folder to be writeable by all.  Note that we do not grant execute privileges to the files.</p>
<h3>Optionally Allow Write on Theme Files:</h3>
<p class="code">> <span class="input">cd <span class="codered">/var/www/html</span>/wp-content/themes/<span class="codered">themename</span></span><br />
> <span class="input">chmod 666 *.php</span><br />
> <span class="input">chmod 666 *.css</span></p>
<p>Grant read and write privileges to all for the PHP and Cascading Style Sheet (CSS) files if you wish to use the built-in theme editor in the WordPress administration console.</p>
<h3>Optionally Allow Write on .htaccess:</h3>
<p class="code">> <span class="input">cd <span class="codered">/var/www/html</span></span><br />
> <span class="input">chmod 666 *.htaccess</span></p>
<p>Grant read and write privileges to all for the .htaccess file in the WordPress root directory if you wish to allow WordPress to automatically generate rewrite rules for you.  It is good practice to remove the write privilege from all others (<span class="command">chmod 644 .htaccess</span>) after you are done configuring WordPress in the administration console. Unless you are making changes to settings, WordPress does not normally need write access to this file.</p>
<h3>Optionally Allow Additional Permissions:</h3>
<p class="code">> <span class="input">cd <span class="codered">/var/www/html</span></span><br />
> <span class="input">chmod 666 sitemap.xml</span><br />
> <span class="input">chmod 666 sitemap.xml.gz</span></p>
<p>Third party themes and plugins may require additional permissions.  Please refer to their documentation for instructions.  In this example, read and write privileges are granted to all for files manipulated by the popular Google (XML) Sitemaps Generator plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/wordpress/lockdown-wordpress-file-permissions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CentOS Install Sun Java SE JRE</title>
		<link>http://minhtech.com/featuredlinux/centos-install-sun-java-se-jre/</link>
		<comments>http://minhtech.com/featuredlinux/centos-install-sun-java-se-jre/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:48:20 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Featured Linux]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=600</guid>
		<description><![CDATA[Here is how to install the Sun Java SE Runtime Environment (JRE) on CentOS 5.3.]]></description>
			<content:encoded><![CDATA[<p>Here is how to install the Sun Java SE Runtime Environment (JRE) on CentOS 5.3.</p>
<h3>First, Execute the Binary:</h3>
<p class="code">> <span class="input">mv jre-6u16-linux-x64.bin <span class="codered">/usr/lib/java</span></span><br />
> <span class="input">cd <span class="codered">/usr/lib/java</span></span><br />
> <span class="input">chmod 744 jre-6u16-linux-x64.bin</span><br />
> <span class="input">./jre-6u16-linux-x64.bin</span></p>
<p>Download the 32-bit or 64-bit non-RPM binary from Sun&#8217;s site and execute it.</p>
<h3>Next, Set Sun&#8217;s Java as Default:</h3>
<p class="code">> <span class="input">update-alternatives &#45;&#45;install &#34;/usr/bin/java&#34; &#34;java&#34; &#34;<span class="codered">/usr/lib/java</span>/jre1.6.0_16/bin/java&#34; 1</span><br />
> <span class="input">update-alternatives &#45;&#45;set java <span class="codered">/usr/lib/java</span>/jre1.6.0_16/bin/java</span></p>
<p>We configure the system to use Sun&#8217;s Java binaries to execute &#8220;java&#8221; commands by telling it there is an alternate installation and to use it by default.</p>
<h3>Finally, Check the Default Version:</h3>
<p class="code">> <span class="input">java -version</span><br />
java version &#8220;1.6.0_16&#8243;<br />
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)<br />
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/featuredlinux/centos-install-sun-java-se-jre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDAV with Windows Vista</title>
		<link>http://minhtech.com/windows/webdav-with-windows-vista/</link>
		<comments>http://minhtech.com/windows/webdav-with-windows-vista/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 19:57:33 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=567</guid>
		<description><![CDATA[Here is how to set up a WebDAV folder in Windows Vista.]]></description>
			<content:encoded><![CDATA[<p>Here is how to set up a WebDAV folder in Windows Vista.</p>
<h3>Install the Software Update:</h3>
<p>Go to <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=17c36612-632e-4c04-9382-987622ed1d64&amp;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=17c36612-632e-4c04-9382-987622ed1d64&amp;DisplayLang=en</a> to download and install the KB907306 software update.</p>
<h3>Map a Network Drive:</h3>
<p>Go to <em>Start</em> &gt; <em>Computer</em>, and then click on the <strong>Map network drive</strong> button. In the Map Network Drive dialog, click on the link labeled <strong>Connect to a Web site that you can use to store your documents and pictures</strong>. In the Add Network Location dialog, click the <strong>Next</strong> button. In the next dialog, click the <strong>Choose a custom network location</strong> button.</p>
<p><img src="http://minhtech.com/wp-content/uploads/2009/07/webdav01.bmp" alt="WebDAV" title="WebDAV" class="alignnone size-medium wp-image-571" /></p>
<h3>Set Up the WebDAV Folder:</h3>
<p>In the third Add Network Location dialog, enter the address of the WebDAV folder, and then click the <strong>Next</strong> button.</p>
<p><img src="http://minhtech.com/wp-content/uploads/2009/07/webdav02.bmp" alt="WebDAV" title="WebDAV" class="alignnone size-full wp-image-583" /></p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/windows/webdav-with-windows-vista/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Soundex Incorrect</title>
		<link>http://minhtech.com/oracle/oracle-soundex-incorrect-implementation/</link>
		<comments>http://minhtech.com/oracle/oracle-soundex-incorrect-implementation/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 18:53:30 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=522</guid>
		<description><![CDATA[Oracle's implementation of Soundex is incorrect. Here is a correct one.]]></description>
			<content:encoded><![CDATA[<p>Oracle&#8217;s implementation of Soundex is incorrect.</p>
<h3>Test the Function:</h3>
<p class="code">SQL> <span class="input">select soundex(&#39;Ashcraft&#39;)<br />
from dual;</span><br/><br />
A226</p>
<p>Ashcraft should return A261 and not A226.</p>
<h3>Create the Function:</h3>
<p class="code">SQL> <span class="input">create or replace function soundexxcode (character varchar2) return number is<br />
&#160;&#160;&#160;v_digit number(1,0);<br />
begin<br />
&#160;&#160;&#160;case<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;B&#39;, &#39;F&#39;, &#39;P&#39;, &#39;V&#39;) then v_digit := 1;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;C&#39;, &#39;G&#39;, &#39;J&#39;, &#39;K&#39;, &#39;Q&#39;, &#39;S&#39;, &#39;X&#39;, &#39;Z&#39;) then v_digit := 2;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;D&#39;, &#39;T&#39;) then v_digit := 3;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;L&#39;) then v_digit := 4;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;M&#39;, &#39;N&#39;) then v_digit := 5;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;R&#39;) then v_digit := 6;<br />
&#160;&#160;&#160;&#160;&#160;&#160;when character in (&#39;H&#39;, &#39;W&#39;) then v_digit := 0;<br />
&#160;&#160;&#160;&#160;&#160;&#160;else v_digit := NULL;<br />
&#160;&#160;&#160;end case;<br/><br />
&#160;&#160;&#160;return v_digit;<br />
end soundexxcode;<br />
/</span><br/><br />
Function created.<br/><br />
SQL> <span class="input">create or replace function soundexx (string varchar2) return varchar2 is<br />
&#160;&#160;&#160;v_digit number(1, 0);<br />
&#160;&#160;&#160;v_digit_last number(1, 0);<br />
&#160;&#160;&#160;v_soundex varchar2(64);<br />
&#160;&#160;&#160;v_string varchar2(64);<br />
begin<br />
&#160;&#160;&#160;v_string := upper(string);<br />
&#160;&#160;&#160;v_soundex := substr(v_string, 1, 1);<br />
&#160;&#160;&#160;v_digit_last := soundexxcode(v_soundex);<br/><br />
&#160;&#160;&#160;for i in 1 .. length(v_string) loop<br />
&#160;&#160;&#160;&#160;&#160;&#160;v_digit := soundexxcode(substr(v_string, i, 1));<br/><br />
&#160;&#160;&#160;&#160;&#160;&#160;if v_digit > 0 And v_digit <> nvl(v_digit_last, 0) then<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;v_soundex := v_soundex || v_digit;<br />
&#160;&#160;&#160;&#160;&#160;&#160;end if;<br/><br />
&#160;&#160;&#160;&#160;&#160;&#160;if nvl(v_digit, 0) <> 0 then<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;v_digit_last := v_digit;<br />
&#160;&#160;&#160;&#160;&#160;&#160;end if;<br />
&#160;&#160;&#160;end loop;<br/><br />
&#160;&#160;&#160;return rpad(v_soundex, 4, &#39;0&#39;);<br />
end soundexx;<br />
/</span><br/><br />
Function created.</p>
<h3>Test the New Function:</h3>
<p class="code">SQL> <span class="input">select soundexx(&#39;Ashcraft&#39;)<br />
from dual;</span><br/><br />
A261</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/oracle/oracle-soundex-incorrect-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle PL/SQL is_numeric Function</title>
		<link>http://minhtech.com/oracle/oracle-is_numeric-function/</link>
		<comments>http://minhtech.com/oracle/oracle-is_numeric-function/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 18:00:08 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=496</guid>
		<description><![CDATA[Here is an is_numeric function for Oracle PL/SQL.]]></description>
			<content:encoded><![CDATA[<p>Here is an is_numeric function for Oracle PL/SQL.</p>
<h3>Create the Function:</h3>
<p class="code">SQL> <span class="input">create or replace function is_numeric (v_value varchar2) return boolean is<br />
&#160;&#160;&#160;v_data number;<br />
begin<br />
&#160;&#160;&#160;v_data := to_number(v_value);<br />
&#160;&#160;&#160;return true;<br/><br />
exception<br />
&#160;&#160;&#160;when others then<br />
&#160;&#160;&#160;&#160;&#160;&#160;return false;<br />
end is_numeric;<br />
/</span><br/><br />
Function created.</p>
<h3>Test the New Function:</h3>
<p class="code">SQL> <span class="input">set serveroutput on<br/><br />
begin<br />
&#160;&#160;&#160;if is_numeric(&#39;123&#39;) = true then<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;True&#39;);<br />
&#160;&#160;&#160;else<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;False&#39;);<br />
&#160;&#160;&#160;end if;<br/><br />
&#160;&#160;&#160;if is_numeric(123) = true then<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;True&#39;);<br />
&#160;&#160;&#160;else<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;False&#39;);<br />
&#160;&#160;&#160;end if;<br/><br />
&#160;&#160;&#160;if is_numeric(&#39;AAA&#39;) = true then<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;True&#39;);<br />
&#160;&#160;&#160;else<br />
&#160;&#160;&#160;&#160;&#160;&#160;dbms_output.put_line (&#39;False&#39;);<br />
&#160;&#160;&#160;end if;<br />
end;<br />
/</span><br/><br />
True<br />
True<br />
False<br/><br />
PL/SQL procedure successfully completed.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/oracle/oracle-is_numeric-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Clear Stuck Print Jobs</title>
		<link>http://minhtech.com/windows/windows-clear-stuck-print-jobqueue/</link>
		<comments>http://minhtech.com/windows/windows-clear-stuck-print-jobqueue/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 16:57:41 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=479</guid>
		<description><![CDATA[Here is how to clear print jobs stuck in the print queue in Windows.]]></description>
			<content:encoded><![CDATA[<p>Here is how to clear print jobs stuck in the print queue in Windows.</p>
<h3>Go to Command Line:</h3>
<p>Go to <em>Start</em> > <em>Accessories</em> > <em>Command Prompt</em></p>
<h3>Delete Spooled Files:</h3>
<p class="code">C:> <span class="input">net stop spooler</span><br />
C:> <span class="input">del %systemroot%system32spoolprinters*.shd</span><br />
C:> <span class="input">del %systemroot%system32spoolprinters*.spl</span><br />
C:> <span class="input">net start spooler</span></p>
<p>First, stop the print spooler, then delete the spooled files, and then start the printer spooler.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/windows/windows-clear-stuck-print-jobqueue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora Linux Mount Samba, WebDAV</title>
		<link>http://minhtech.com/linux/fedora-linux-mount-samba-webdav/</link>
		<comments>http://minhtech.com/linux/fedora-linux-mount-samba-webdav/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 03:16:33 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=439</guid>
		<description><![CDATA[Here is how to mount various filesystems in Fedora Linux 10.]]></description>
			<content:encoded><![CDATA[<p>Here is how to mount various filesystems in Fedora Linux 10.</p>
<h3>First, List the Filesystems:</h3>
<p class="code">> <span class="input">fdisk -l</span></p>
<p>Use fdisk, the partition table manipulator for Linux, to list all partition tables.</p>
<h3>Mount a Partition:</h3>
<p class="code">> <span class="input">mkdir <span class="codered">/mnt/usbdrive</span></span><br />
> <span class="input">mount <span class="codered">/dev/sdb1</span> <span class="codered">/mnt/usbdrive</span></span></p>
<p>Create a directory as a mount point and then mount the partition to the directory.</p>
<h3>Mount a NTFS Partition:</h3>
<p class="code">> <span class="input">mkdir <span class="codered">/mnt/usbdrive</span></span><br />
> <span class="input">mount -t ntfs-3g <span class="codered">/dev/sdb1</span> <span class="codered">/mnt/usbdrive</span></span></p>
<p>You may need to install the ntfs-3g driver (<span class="command">yum install ntfs-3g</span>).</p>
<h3>Mount a Samba Share:</h3>
<p class="code">> <span class="input">mkdir <span class="codered">/mnt/smbshare</span></span><br />
> <span class="input">mount <span class="codered">//192.168.1.101/data</span> <span class="codered">/mnt/smbshare</span> -o username=<span class="codered">mnguyen</span>,password=<span class="codered">password</span></span></p>
<h3>Install fuse and wdfs To Mount a WebDAV Folder:</h3>
<p class="code">> <span class="input">yum install fuse wdfs</span></p>
<h3>Mount a WebDAV Folder:</h3>
<p class="code">> <span class="input">mkdir <span class="codered">/mnt/webdav</span></span><br />
> <span class="input">wdfs <span class="codered">http://webdav.domain.com/</span> <span class="codered">/mnt/webdav</span> -o username=<span class="codered">mnguyen</span>,password=<span class="codered">password</span>,allow_other</span></p>
<h3>Unmount a Filesystem:</h3>
<p class="code">> <span class="input">umount <span class="codered">/mnt/usbdrive</span></span></p>
<p>If the filesystem is busy, determine what process is using the filesystem (e.g. /dev/sdb1) with &#8220;<span class="command">fuser -m /dev/sdb1</span>&#8221; and then look up the PID (e.g. 123) with &#8220;<span class="command">ps auxw | grep 123</span>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/linux/fedora-linux-mount-samba-webdav/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel Validation with Dropdown Lists</title>
		<link>http://minhtech.com/office/excel-validation-dropdown-lists/</link>
		<comments>http://minhtech.com/office/excel-validation-dropdown-lists/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 02:26:03 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Office]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=341</guid>
		<description><![CDATA[Here is how to setup Excel dropdown lists to improve data integrity during data entry.]]></description>
			<content:encoded><![CDATA[<p>Here is how to setup Excel dropdown lists to improve data integrity during data entry.</p>
<p>Validation improves data integrity especially when you need entry to be consistent.  For example, the value &#8220;United States of America&#8221; could also be entered as:  United States, US, USA, America, and more.  Consistency improves the results of many tasks such as sorting, grouping, and various aggregate functions.</p>
<h3>Setup a Named Ranged:</h3>
<p>Open Microsoft Excel, activate <strong>Sheet2</strong>, and create a list of colors. Select the cells, and then go to <em>Insert</em> > <em>Name</em> > <em>Define</em> (shortcut: ctrl + F3). In the Define Name dialog, let&#8217;s name the range &#8220;ListColors.&#8221;</p>
<p><img src="http://minhtech.com/wp-content/uploads/2009/03/excel01.jpg" alt="Excel" title="Excel" width="600" height="445" class="size-full wp-image-416" /></p>
<h3>Create the Validation Rule:</h3>
<p>Activate <strong>Sheet1</strong>, select a range of cells for validation, and then go to <em>Data</em> > <em>Validation</em>. In the Data Validation dialog, select the <strong>Settings</strong> tab, and then change the <strong>Allow</strong> combobox to &#8220;List&#8221; and enter &#8220;=ListColors&#8221; for the <strong>Source</strong>. Make sure <strong>In-cell dropdown</strong> is checked.</p>
<p><img src="http://minhtech.com/wp-content/uploads/2009/03/excel02.jpg" alt="Excel" title="Excel" width="600" height="445" class="size-full wp-image-417" /></p>
<h3>Test It Out:</h3>
<p>Each selected cell is now embedded with a combobox. Items appear in the list as they appear in the named range, including sort order. Users may key in a value or select an item from the dropdown. An error message appears if the user attempts to enter a value not listed in your named range.</p>
<p><img src="http://minhtech.com/wp-content/uploads/2009/03/excel03.jpg" alt="Excel" title="Excel" width="600" height="445" class="size-full wp-image-419" /></p>
<h3>Finally, Hide Your Named Ranges:</h3>
<p>Activate <strong>Sheet2</strong>, and then go to <em>Format</em> > <em>Sheet</em> > <em>Hide</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/office/excel-validation-dropdown-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Load EBCDIC in Oracle SQLLDR</title>
		<link>http://minhtech.com/featuredtutorial/convertupload-ebcdic-with-oracle-sql-loader/</link>
		<comments>http://minhtech.com/featuredtutorial/convertupload-ebcdic-with-oracle-sql-loader/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 19:07:31 +0000</pubDate>
		<dc:creator>Minh</dc:creator>
				<category><![CDATA[Featured Tutorial]]></category>

		<guid isPermaLink="false">http://minhtech.com/?p=307</guid>
		<description><![CDATA[Here is a simple way to convert data from IBM Extended Binary Coded Decimal Interchange Code, EBCDIC, format and upload into Oracle.]]></description>
			<content:encoded><![CDATA[<p>Here is a simple way to convert data from IBM Extended Binary Coded Decimal Interchange Code, EBCDIC, format and upload into Oracle.</p>
<h3>Analyze EBCDIC File:</h3>
<p>Suppose we have a file in EBCDIC format with the following field name, offset, size, and type elements:</p>
<p class="code">field1 0 10 ebcdic string(10)<br />
field2 10 5 packed decimal(5)<br />
field3 15 1 ebcdic string(1)</p>
<h3>Next, Create an Oracle Table:</h3>
<p class="code">SQL> <span class="input">create table <span class="codered">ebcdic_table</span><br />
(<br />
&#160;&#160;&#160;field1 varchar2(10)<br />
&#160;&#160;&#160;field2 number(9)<br />
&#160;&#160;&#160;field3 varchar2(1)<br />
);</span></p>
<p>Note the numeric field length.  Each byte of a packed decimal contains two digits. So &#8220;field2&#8243; is 5 * 2 = 10 = 9 digits plus the symbol. Use 5 if the numeric field is not a packed decimal.</p>
<h3>Create SQL Loader Control File:</h3>
<p class="code">> <span class="input">vi sqlldr.ctl</span><br />
LOAD DATA CHARACTERSET WE8EBCDIC500<br />
INFILE &#39;<span class="codered">/home/mnguyen/filename</span>&#39; &#34;fix <span class="codered">16</span>&#34;<br />
APPEND INTO TABLE <span class="codered">MNGUYEN.EBCDIC_TABLE</span><br />
(<br />
&#160;&#160;&#160;FIELD1 position(1:10) char,<br />
&#160;&#160;&#160;FIELD2 position(11:15) decimal,<br />
&#160;&#160;&#160;FIELD3 position(16:16) char<br />
)<br/><br />
> <span class="input">sqlldr <span class="codered">mnguyen</span> control=sqlldr.ctl log=sqlldr.log</span></p>
<p>It is super easy because Oracle handles the conversion via its built-in SQL Loader tool. Use the WE8EBCDIC500 character set and specify the correct record length (i.e. &#8220;fix #&#8221;) if an ASCII newline character is not used in the EBCDIC data. Use the &#8220;decimal external&#8221; data type if the numeric field is not a packed decimal.</p>
]]></content:encoded>
			<wfw:commentRss>http://minhtech.com/featuredtutorial/convertupload-ebcdic-with-oracle-sql-loader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
