﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-罗明的博客-随笔分类-Database</title><link>http://www.blogjava.net/Andyluo/category/8514.html</link><description>&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;font color="blue"&gt;锻炼身体、提升技能、修身养性&lt;/font&gt;&lt;br&gt;
讨论Eclipse, Java, Linux, Google产品&lt;br&gt;
&lt;/td&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;td&gt;
&lt;!-- google script --&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 29 Oct 2007 12:37:48 GMT</lastBuildDate><pubDate>Mon, 29 Oct 2007 12:37:48 GMT</pubDate><ttl>60</ttl><item><title>如何入门和学习Oracle</title><link>http://www.blogjava.net/Andyluo/archive/2007/10/24/How-To-Study-Oracle.html</link><dc:creator>罗明</dc:creator><author>罗明</author><pubDate>Wed, 24 Oct 2007 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/Andyluo/archive/2007/10/24/How-To-Study-Oracle.html</guid><wfw:comment>http://www.blogjava.net/Andyluo/comments/155622.html</wfw:comment><comments>http://www.blogjava.net/Andyluo/archive/2007/10/24/How-To-Study-Oracle.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Andyluo/comments/commentRss/155622.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Andyluo/services/trackbacks/155622.html</trackback:ping><description><![CDATA[<span style="color: #000000; font-family: 草檀斋毛泽东字体;">刚才有朋友问我推荐几本学习Oracle的书，我想了想，以前学习还真没系统的看过书，基本都是项目过程中慢慢熟悉。<br />
<br />
没什么书可推荐的，所以就给他提了几点建议^_^：<br />
<br />
1、到网上找篇安装的文章，对照着装好，遇到问题就google错误信息，解决问题。
<br />
<br />
2、安装完后做个小项目，做的过程中遇到问题就google查资料，解决。 <br />
<br />
3、做完后想想有什么高级功能可以实现，添加功能，改进。 </span><span style="color: #000000; font-family: 草檀斋毛泽东字体;">这个高级功能最好跟分析数据库信息，导出信息报表有关，这样会用到比较多的oracle特定的sql语句。<br />
<br />
</span><span style="color: #000000; font-family: MS Shell Dlg;">问：现在安装那个版本？10还是9？<br />
</span>答：9.2的好，网上资料多，现在用的也最多<br />
<br />
不需要看书的，要买的话，随便找本介绍9.2的小书；<br />
<br />
主要是实践，做项目，网上查资料！<br />
<img src ="http://www.blogjava.net/Andyluo/aggbug/155622.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Andyluo/" target="_blank">罗明</a> 2007-10-24 16:21 <a href="http://www.blogjava.net/Andyluo/archive/2007/10/24/How-To-Study-Oracle.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么用PreparedStatement而不是直接用"+"连接SQL语句</title><link>http://www.blogjava.net/Andyluo/archive/2006/11/01/78549.html</link><dc:creator>罗明</dc:creator><author>罗明</author><pubDate>Wed, 01 Nov 2006 12:18:00 GMT</pubDate><guid>http://www.blogjava.net/Andyluo/archive/2006/11/01/78549.html</guid><wfw:comment>http://www.blogjava.net/Andyluo/comments/78549.html</wfw:comment><comments>http://www.blogjava.net/Andyluo/archive/2006/11/01/78549.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Andyluo/comments/commentRss/78549.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Andyluo/services/trackbacks/78549.html</trackback:ping><description><![CDATA[
		<p>最开始 我在程序里使用SQL访问数据库时，都是直接用“+”将字段值嵌到SQL中。  </p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">String sql </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">select s.name from student s where s.id='</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> sId </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">'</span>
				<span style="COLOR: #000000">"；</span>
		</div>
		<br />
		<p>
				<br />后来我开始使用<strong>PreparedStatement</strong>，在SQL里使用“？”标记参数，然后用setXXX方法给参数赋值。当时只知道这样用是因为有<strong>setDate，setTimeStamp</strong>这些用“+”连接不能直接嵌入的值。<br /><br />感觉PreparedStatement在<strong>性能</strong>方面应该也能快点，可能DBMS会重用，但不明底层原理。<br /><br />这次《数据库实现》课程终于让我弄懂了：<strong>每个SQL语句都要通过 语法分析 -&gt; 生成逻辑查询计划 -&gt; 逻辑优化 -&gt; 物理优化</strong> 等步骤生成具体的执行计划，用PreparedStatement就可以生成一个执行计划，以后只是参数改变（相当于执行计划的<strong>执行环境改变</strong>），前面的四个步骤也会<strong>省略</strong>，从而提高了效率。<br /><br />如果一个SQL语句要被反复多次执行，或多用户同时操作，则应选用PreparedStatement！</p>
<img src ="http://www.blogjava.net/Andyluo/aggbug/78549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Andyluo/" target="_blank">罗明</a> 2006-11-01 20:18 <a href="http://www.blogjava.net/Andyluo/archive/2006/11/01/78549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySQL里创建外键时错误的解决</title><link>http://www.blogjava.net/Andyluo/archive/2006/10/06/73584.html</link><dc:creator>罗明</dc:creator><author>罗明</author><pubDate>Fri, 06 Oct 2006 14:53:00 GMT</pubDate><guid>http://www.blogjava.net/Andyluo/archive/2006/10/06/73584.html</guid><wfw:comment>http://www.blogjava.net/Andyluo/comments/73584.html</wfw:comment><comments>http://www.blogjava.net/Andyluo/archive/2006/10/06/73584.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Andyluo/comments/commentRss/73584.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Andyluo/services/trackbacks/73584.html</trackback:ping><description><![CDATA[在MySQL里创建外键时（Alter table xxx add constraint fk_xxx foreign key），提示错误，但只提示很简单的信息：ERROR 1005 (HY000): Can't create table '.\env_mon\#sql-698_6.frm' (errno: 150)。根本起不到解决问题的作用。<br /><br />要看错误的详细提示，可以使用命令：（在MySQL Manual里搜索“errno 150”时找到）<br /><br /><strong>SHOW ENGINE INNODB STATUS;     //</strong>针对用INNODB存储方式的数据库<br /><br />在信息中有一组【LATEST FOREIGN KEY ERROR】会有最近错误的详细描述和解决办法。<br />如：<br />Cannot find an index in the referenced table where the referenced columns appear as the first columns, or column types in the table and the referenced table do not match for constraint.<br />（译：不能在“被reference的表”里找到包含“被reference字段”的索引，或者是两个关联字段类型不匹配）<br /><br />（我犯的错误是没有在主表中设置主键-_-!，即第一种原因）<img src ="http://www.blogjava.net/Andyluo/aggbug/73584.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Andyluo/" target="_blank">罗明</a> 2006-10-06 22:53 <a href="http://www.blogjava.net/Andyluo/archive/2006/10/06/73584.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实现类似select new EntityClass(p.attr1,substring(p.attr2),...) EJB QL的功能</title><link>http://www.blogjava.net/Andyluo/archive/2006/05/30/49115.html</link><dc:creator>罗明</dc:creator><author>罗明</author><pubDate>Tue, 30 May 2006 14:03:00 GMT</pubDate><guid>http://www.blogjava.net/Andyluo/archive/2006/05/30/49115.html</guid><wfw:comment>http://www.blogjava.net/Andyluo/comments/49115.html</wfw:comment><comments>http://www.blogjava.net/Andyluo/archive/2006/05/30/49115.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Andyluo/comments/commentRss/49115.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Andyluo/services/trackbacks/49115.html</trackback:ping><description><![CDATA[在EJB3.0代码里直接用select new EntityClass(p.attr1,substring(p.attr2),...) .....报错，说不能识别“(”，估计就是substring后面的“(”，难道是EJB QL没这种语法？<br /><br />在网上找这样的代码或实现方法未果，查<a class="" title="" href="http://jcp.org/en/jsr/detail?id=220" target="_blank">EJB 3.0规范</a>，里面有一个EJB QL的范式描述，原来在QL里只能在where条件里使用字符串函数，在select new里估计是不行了，后来想到<strong>select new 要调用EntityClass的构造函数来构建EntityClass实例</strong>，所以考虑在EntityClass的构造方法里调用substring等方法，实践之，执行成功，mark！<br /><br />（文章短了点，但如果能解决别人的问题，也是不错的。post完继续写程序，hoho）<img src ="http://www.blogjava.net/Andyluo/aggbug/49115.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Andyluo/" target="_blank">罗明</a> 2006-05-30 22:03 <a href="http://www.blogjava.net/Andyluo/archive/2006/05/30/49115.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>系统崩溃修复未果，Oracle冷备份成功</title><link>http://www.blogjava.net/Andyluo/archive/2006/03/16/35540.html</link><dc:creator>罗明</dc:creator><author>罗明</author><pubDate>Thu, 16 Mar 2006 01:35:00 GMT</pubDate><guid>http://www.blogjava.net/Andyluo/archive/2006/03/16/35540.html</guid><wfw:comment>http://www.blogjava.net/Andyluo/comments/35540.html</wfw:comment><comments>http://www.blogjava.net/Andyluo/archive/2006/03/16/35540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Andyluo/comments/commentRss/35540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Andyluo/services/trackbacks/35540.html</trackback:ping><description><![CDATA[      前天由于突然断电，造成系统崩溃，启动系统在Windows Server 2003滚动条出现时发生蓝屏，提示<strong>system32/config目录下的software文件错误，无法启动</strong>。<br /><br />      用安装盘修复未果，以为<strong>覆盖安装</strong>可以保留原有程序，所以重装了系统，结果在安装时也没发现有覆盖安装保留原有系统的选项。装完后程序都不能运行了，为了保留原有Oracle数据（Y的那几天没做备份），试着把整个Oracle文件夹（包括ora90, admin, oradata）备份下来，用<strong>同样路径</strong>重装Oracle和新建数据库，数据库设置和以前一样。然后在“服务”里停掉所有以Oracle开头的服务，我的包括OracleOraHome90Agent，OracleOraHome90HttpServer，OracleOraHome90TNSListener和OracleServiceSMS（SMS是我的数据库名）。再把刚才的备份覆盖到以前的目录（jdk目录里有些dll可能被使用，这个目录可以不覆盖），启动刚才关闭的服务，打开<strong>Enterprise Manager Console</strong>和<strong>Net Manager</strong>，发现现在的数据库和服务命名跟原来一模一样（重装操作系统时最好计算机名也跟以前一样，不然还要改一下NetManager里<strong>服务命名</strong>和<strong>监听程序</strong>的<strong>主机名</strong>）。<br /><br />      不知道这种备份是不是叫<strong>冷备份</strong>，反正是挺“冷”的，悄无声息就备份过来了，呵呵，这种机制感觉挺好！<img src ="http://www.blogjava.net/Andyluo/aggbug/35540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Andyluo/" target="_blank">罗明</a> 2006-03-16 09:35 <a href="http://www.blogjava.net/Andyluo/archive/2006/03/16/35540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>