﻿<?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-程序人生-文章分类-jsp/servlet</title><link>http://www.blogjava.net/caihualin/category/27661.html</link><description>我们站在同一起跑线上,让我们共同努力,共同奋进,愿您的人生因程序而美好!</description><language>zh-cn</language><lastBuildDate>Thu, 29 Nov 2007 18:33:06 GMT</lastBuildDate><pubDate>Thu, 29 Nov 2007 18:33:06 GMT</pubDate><ttl>60</ttl><item><title>SQL Sever中文乱码的分析解决</title><link>http://www.blogjava.net/caihualin/articles/164110.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:37:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164110.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164110.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164110.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164110.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164110.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt"><font size="3"><span style="font-family: 宋体">在</span><font face="Times New Roman">JSP</font><span style="font-family: 宋体">页面中，我们通过以下的方法解决中文乱码问题，首先，在</span><font face="Times New Roman">html</font><span style="font-family: 宋体">的</span><font face="Times New Roman">head</font><span style="font-family: 宋体">标签内加入以下</span><font face="Times New Roman">meta</font><span style="font-family: 宋体">信息：</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;meta http-equiv=Content-Type content="text/html; charset=gbk"&gt;</font></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><span style="font-family: 宋体">其作用是告诉客户端浏览器，这个</span><font face="Times New Roman">HTML</font><span style="font-family: 宋体">为</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">编码文件。</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><span style="font-family: 宋体">在</span><font face="Times New Roman">JSP</font><span style="font-family: 宋体">中加入以下的一句编译指令，定义</span><font face="Times New Roman">JSP</font><span style="font-family: 宋体">程序使用字符集为</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">：</span></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;%@ page contentType="text/html;charset=gbk" %&gt;</font></font></p>
<p style="margin: 0cm 0cm 0pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><span style="font-family: 宋体">这样，保证了</span><font face="Times New Roman">JSP</font><span style="font-family: 宋体">服务器引擎将会把</span><font face="Times New Roman">JSP</font><span style="font-family: 宋体">的输出以</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">编码的形式输出。</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">但是在表单提交或</span><font face="Times New Roman">URL</font><span style="font-family: 宋体">传参数值时依然是按照</span><font face="Times New Roman">Web</font><span style="font-family: 宋体">容器在其内部默认的字符编码格式</span><font face="Times New Roman">ISO 8859-1</font><span style="font-family: 宋体">来进行处理的。同时，几乎所有的浏览器在传递参数时都是默认以</span><font face="Times New Roman">UTF-8</font><span style="font-family: 宋体">的方式来传递参数的。所以，虽然我们的</span><font face="Times New Roman">Java</font><span style="font-family: 宋体">源文件在出入口的地方指定了正确的编码方式，但其在容器内部运行时还是以</span><font face="Times New Roman">ISO 8859-1</font><span style="font-family: 宋体">来处理的，这样导致在提交的表单中若有中文字符，根据上文分析，在存入数据库是使用的是</span><font face="Times New Roman">ISO 8859-1</font><span style="font-family: 宋体">，</span><span style="font-family: 宋体">而</span><font face="Times New Roman">MS SQL Sever 2000</font><span style="font-family: 宋体">数据库默认使用的是</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">编码，这样出现的结果就是存到数据库中的数据因编码不同而出现乱码现象。</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">在这种情况下，我们的解决办法就是通过编码转换，使存放到数据库的数据编码格式与数据库的内部编码格式统一，即为</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">编码格式。</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">即将写入数据库的中文转换为从</span><font face="Times New Roman">ISO 8859-1</font><span style="font-family: 宋体">编码格式，实现方法如下：</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str=new String(dbstr.getBytes(&#8220;ISO8859-1&#8221;,&#8221;GBK&#8221;);</font></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><span style="font-family: 宋体">读出数据库的中文将其从</span><font face="Times New Roman">GBK</font><span style="font-family: 宋体">编码格式转换为</span><font face="Times New Roman">ISO 8859-1</font><span style="font-family: 宋体">编码格式，实现方法如下：</span></font></p>
<p style="margin: 0cm 0cm 0pt; text-indent: 21pt"><font size="3"><font face="Times New Roman">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String str=new String(dbstr.getBytes(&#8221;GBK&#8221; ,&#8220;ISO8859-1&#8221;);</font></font></p>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:37 <a href="http://www.blogjava.net/caihualin/articles/164110.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>微软自带的sqlserver的jdbc驱动的缺陷及解决方法</title><link>http://www.blogjava.net/caihualin/articles/164109.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:36:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164109.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164109.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164109.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164109.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164109.html</trackback:ping><description><![CDATA[<p style="margin-bottom: 0pt; line-height: 150%"><span style="font-size: 9pt; color: #333333"><font face="宋体">1. 问题的发现 </font></span>
<p style="margin-bottom: 0pt; text-indent: 21pt; line-height: 150%"><span style="font-size: 9pt; color: #333333"><font face="宋体">最近一端时间用jsp+Sql Sever2000开发网站，偶然发现了微软驱动的不足。在用结果集对象从数据库中读取数据是，系统报告了</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">[Microsoft][SQLServer JDBC Driver]ResultSet can not re-read row data for column</span><span style="font-size: 9pt; color: #333333"><font face="宋体">之类的错误。为了解决这个错误，跟踪程序忙了大半天，也没有查出问题所在。只能确定在在</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">rs.getString("XXX")</span><span style="font-size: 9pt; color: #333333"><font face="宋体">的时候必然会出现错误（</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">rs</span><span style="font-size: 9pt; color: #333333"><font face="宋体">为</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">ResultSet</span><span style="font-size: 9pt; color: #333333"><font face="宋体">对象）。那么现在就模拟以下当时的环境：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"><br />
&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; color: #333333"><font face="宋体">数据库表：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">TestTable<br />
&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; color: #333333"><font face="宋体">表字段及类型：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; guid char(38)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title varchar(100)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; content Text<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; username varchar(20)<br />
&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; color: #333333"><font face="宋体">查询</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">sql</span><span style="font-size: 9pt; color: #333333"><font face="宋体">语句：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select guid,username,content,title from TestTable where&#183;&#183;&#183;&#183;<br />
&nbsp;&nbsp;&nbsp; java</span><span style="font-size: 9pt; color: #333333"><font face="宋体">代码：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getString("guid");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getBinaryStream("content");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.getString("username");<br />
&nbsp;&nbsp;&nbsp; ----------------------------------------------------------- </span>
<p style="margin-bottom: 0pt; line-height: 150%"><span style="font-size: 9pt; color: #333333; font-family: Tahoma">&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; color: #333333"><font face="宋体">上面那段代码，很不荣幸是。使用微软的驱动，必然会报错（就是上面说的那个错误）。如果你跟踪的话，必然是这一行：</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">rs.getString("username")</span><span style="font-size: 9pt; color: #333333"><font face="宋体">抛出错误。</font></span>
<p style="margin-bottom: 0pt; line-height: 150%"><span style="font-size: 9pt; color: #333333; font-family: Tahoma">&nbsp;&nbsp;&nbsp; </span><span style="font-size: 9pt; color: #333333"><font face="宋体">那么，如果你把</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">rs.getString("username")</span><span style="font-size: 9pt; color: #333333"><font face="宋体">和</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">rs.getBinaryStream("content");</span><span style="font-size: 9pt; color: #333333"><font face="宋体">位置互换以下，会怎么样呢。结果就是可以正常运行。</font></span>
<p style="margin-bottom: 0pt; text-indent: 13.5pt; line-height: 150%"><span style="font-size: 9pt; color: #333333"><font face="宋体">为什么会出现这种情况呢，因为微软的驱动，在包含了</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">blob</span><span style="font-size: 9pt; color: #333333"><font face="宋体">或</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">clob</span><span style="font-size: 9pt; color: #333333"><font face="宋体">类型（就是</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">Image</span><span style="font-size: 9pt; color: #333333"><font face="宋体">和</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">Text</span><span style="font-size: 9pt; color: #333333"><font face="宋体">类型）的字段。那么就必须按照</font></span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">select</span><span style="font-size: 9pt; color: #333333"><font face="宋体">顺序查询，且不支持重复查询。</font></span>
<p style="margin-bottom: 0pt; line-height: 150%"><span style="font-size: 9pt; color: #333333"><font face="宋体">2.解决方法 </font></span>
<p style="margin-bottom: 0pt; margin-left: 40.5pt; text-indent: -27pt; line-height: 150%; tab-stops: list 40.5pt"><span style="font-size: 9pt; font-family: Verdana">1)<span style="font: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size: 9pt; color: #333333"><font face="宋体">在做查询语句时尽量不要用select * from tablename之类的语法，而应用select field1,field2,&#8230;from tablename,并在网页中按查询顺序读取，而且尽量做到不重复读取。如下代码:</font></span><span style="font-size: 9pt; font-family: Verdana"><br />
&lt;TD&gt;&lt;%=rs.getString("id")%&gt;&lt;/TD&gt;<br />
&lt;TD&gt;&lt;a&nbsp;href="person.jsp?id=&lt;%=rs.getString("id")%&gt;"&gt;&lt;%=rs.getString("name")%&gt;&lt;/a&gt;&lt;/TD&gt;<br />
</span><font face="宋体"><span style="font-size: 9pt">应该为：</span></font>
<p style="margin: 0cm 0cm 0pt 40.5pt; text-indent: 1.5pt; text-align: left" align="left"><font size="3"><font face="Times New Roman">&lt;TD&gt;&lt;%!String&nbsp;s=rs.getString("id")%&gt;&lt;%=s%&gt;&lt;/TD&gt;<br />
&lt;TD&gt;&lt;a&nbsp;href="person.jsp?id=&lt;%=s%&gt;"&gt;&lt;%=rs.getString("name")%&gt;&lt;/a&gt;&lt;/TD&gt;</font></font>
<p><span style="font-size: 9pt; color: #333333; font-family: 'Times New Roman'">2) </span><span style="font-size: 9pt; color: #333333; font-family: 宋体">用第三方的驱动。国外第三方的驱动很多，比如</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">JSQLConnect</span><span style="font-size: 9pt; color: #333333; font-family: 宋体">，</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">JTurbo</span><span style="font-size: 9pt; color: #333333; font-family: 宋体">等等。这些都是商用的，需要付费，不够有试用版本。如果希望有个免费的，可以在</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"><a href="http://www.freetds.com/">http://www.freetds.com/</a></span><span style="font-size: 9pt; color: #333333; font-family: 宋体">上获取一个免费的（我没有测试过这个免费驱动，不知道是否会存在这种情况）。</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma"> <br />
&nbsp; <br />
</span><span style="font-size: 9pt; color: #333333; font-family: 宋体">有关最初的说明，可以参考</span><span style="font-size: 9pt; color: #333333; font-family: Tahoma">[javasearch]<br />
<a href="http://www.javaresearch.org/article/showarticle.jsp?column=2&amp;thread=4278"><span style="color: black">http://www.javaresearch.org/article/showarticle.jsp?column=2&amp;thread=4278</span></a></span></p>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164109.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:36 <a href="http://www.blogjava.net/caihualin/articles/164109.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windowsxpsp2下用JSP访问SQLServer2000数据库（Errorestablishsocket）</title><link>http://www.blogjava.net/caihualin/articles/164108.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:35:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164108.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164108.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164108.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164108.html</trackback:ping><description><![CDATA[默认安装<span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SQLSERVER 2000</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">企业版后，用</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">JSP</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">调用</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">JDBC</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">驱动程序访问数据库，会得出&#8220;</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">Error establish socket</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">&#8221;的出错提示，即驱动程序找不到</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SQLServer</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的端口，通过查看&#8220;事件查看器&#8221;的应用程序事件，有以下出错信息：</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">&#8220;您运行的</span><span style="font-size: 9pt; font-family: Verdana"> <span lang="EN-US">Microsoft SQL Server 2000 </span></span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">版本或</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> Microsoft SQL Server 2000 Desktop Engine (</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">也称为</span><span style="font-size: 9pt; font-family: Verdana"> <span lang="EN-US">MSDE) </span></span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> Microsoft Windows xp </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">家族使用时存在已知的</span><span style="font-size: 9pt; font-family: Verdana"> </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">安全弱点。为了减少计算机被某些病毒的攻击，</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">Microsoft SQL Server 2000</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">MSDE </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span><span style="font-size: 9pt; font-family: Verdana"> </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">两者的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> TCP/IP </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> UDP </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">网络端口被禁用。要启用这些端口，您必须从</span><span style="font-size: 9pt; font-family: Verdana"> <span lang="EN-US">http://www.microsoft.com/sql/downloads/default.asp </span></span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">&nbsp; http://www.microsoft.com/china/sql/downloads/default.asp </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">安装一个修补程序，</span><span style="font-size: 9pt; font-family: Verdana"> </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> Microsoft SQL Server 2000 </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"> MSDE </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的最新服务包。有关更多信息，请参阅在</span><span style="font-size: 9pt; font-family: Verdana"> <span lang="EN-US">http://go.microsoft.com/fwlink/events.asp </span></span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的帮助和支持&#8221;，可以看出，</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">Windows xp</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">已经禁用的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SQL Server</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">TCP/IP</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">UDP</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">端口，所以造成了数据库的无法连接。</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">按照上面信息提示，从微软下载最新的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SQLServer 2000 SP3a</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">升级包，若只安装了数据库服务器，则下载数据库组件升级包即可（我测试通过）。</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">下载后解包到指定文件夹。在这里，我犯了一个很低级的错误，因为解包后，弹出提示&#8220;已经成功传递该包&#8221;，我还以为升级成功了呢，谁知道还是不能访问，我就想是否还有其它的补丁没有下载，又一气下载了好多补丁，可还是不行，最后我想看看</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SP3</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中到底有些什么东西，没想到里面居然有&#8220;</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">setup.bat</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">&#8221;，真是使我哭笑不行，我只好乖乖的执行它，升级完以后，什么问题也没有了，在</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">Windows 2000 </span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">下开发的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">JSP</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">又可以使用了。</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">在这里，建议无论什么平台下的</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana">SQL Server 2000</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">都升级到最新版本，可以提高安全性，避免不兼容问题的发生。</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">这个问题给我的最大感受就是：微软的东西得天天升级，密切注意微软主页的动态，而且他的系统每升级一次，其它的都得升级，要不就&#8220;不安全&#8221;或&#8220;不兼容&#8221;。</span><span lang="EN-US" style="font-size: 9pt; font-family: Verdana"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 9pt; font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">给我的启发是：这样确实可以提高网站访问量，我想我是否也开发一个软件，大家都用，然后天天升级，还要别的宣传么？</span><span style="font-size: 9pt; font-family: Verdana"> </span>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:35 <a href="http://www.blogjava.net/caihualin/articles/164108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp连接Oracle9i数据库（用thin模式）</title><link>http://www.blogjava.net/caihualin/articles/164107.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164107.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164107.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164107.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164107.html</trackback:ping><description><![CDATA[&lt;%@ page contentType="text/html;charset=GB2312" %&gt;<br />
&lt;%@ page import="java.sql.*"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;%<br />
&nbsp;Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();<br />
&nbsp;String url="jdbc:oracle:thin:@localhost:1521:ora";<br />
&nbsp;String user="system";<br />
&nbsp;String password="caipeiyu";<br />
&nbsp;Connection conn=DriverManager.getConnection(url,user,password);<br />
&nbsp;Statement stmt=conn.createStatement();<br />
&nbsp;String sql="select * from test";<br />
&nbsp;ResultSet rs=stmt.executeQuery(sql);<br />
&nbsp;while (rs.next()) {%&gt;<br />
&nbsp;&nbsp;第一个字段内容为：&lt;%=rs.getString("test1")%&gt;<br />
&nbsp;&nbsp;第二个字段内容为：&lt;%=rs.getString("test2")%&gt;<br />
&nbsp;&lt;%}%&gt;<br />
&nbsp;&lt;%out.print("数据库操作成功，恭喜你");%&gt;<br />
&nbsp;&lt;%rs.close();<br />
&nbsp; stmt.close();<br />
&nbsp; conn.close();<br />
&nbsp;%&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
 <img src ="http://www.blogjava.net/caihualin/aggbug/164107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:34 <a href="http://www.blogjava.net/caihualin/articles/164107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jsp连接SQL Server 2000</title><link>http://www.blogjava.net/caihualin/articles/164105.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164105.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164105.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164105.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164105.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164105.html</trackback:ping><description><![CDATA[&lt;%@ page contentType="text/html;charset=GB2312" %&gt;<br />
&lt;%@ page import="java.sql.*"%&gt;<br />
&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;%<br />
&nbsp;Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();<br />
&nbsp;String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";<br />
&nbsp;String user="sa";<br />
&nbsp;String password="123";<br />
&nbsp;Connection conn=DriverManager.getConnection(url,user,password);<br />
&nbsp;Statement stmt=conn.createStatement();<br />
&nbsp;String sql="select * from test";<br />
&nbsp;ResultSet rs=stmt.executeQuery(sql);<br />
&nbsp;while (rs.next()) {%&gt;<br />
&nbsp;&nbsp;第一个字段内容为：&lt;%=rs.getString("test1")%&gt;<br />
&nbsp;&nbsp;第二个字段内容为：&lt;%=rs.getString("test2")%&gt;<br />
&nbsp;&nbsp;第二个字段内容为：&lt;%=rs.getString("test2")%&gt;<br />
&nbsp;&nbsp;第一个字段内容为：&lt;%=rs.getString("test1")%&gt;<br />
&nbsp;&lt;%}%&gt;<br />
&nbsp;&lt;%out.print("数据库操作成功，恭喜你");%&gt;<br />
&nbsp;&lt;%rs.close();<br />
&nbsp; stmt.close();<br />
&nbsp; conn.close();<br />
&nbsp;%&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
 <img src ="http://www.blogjava.net/caihualin/aggbug/164105.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:33 <a href="http://www.blogjava.net/caihualin/articles/164105.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在jsp连接mysql数据库</title><link>http://www.blogjava.net/caihualin/articles/164104.html</link><dc:creator>蔡华林</dc:creator><author>蔡华林</author><pubDate>Thu, 29 Nov 2007 12:32:00 GMT</pubDate><guid>http://www.blogjava.net/caihualin/articles/164104.html</guid><wfw:comment>http://www.blogjava.net/caihualin/comments/164104.html</wfw:comment><comments>http://www.blogjava.net/caihualin/articles/164104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/caihualin/comments/commentRss/164104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/caihualin/services/trackbacks/164104.html</trackback:ping><description><![CDATA[<p>&lt;%@ page contentType="text/html;charset=gb2312"%&gt; <br />
&lt;%@ page import="java.sql.*"%&gt; <br />
&lt;html&gt; <br />
&lt;body&gt; <br />
&lt;%Class.forName("com.mysql.jdbc.Driver").newInstance(); <br />
String url ="jdbc:mysql://localhost:3306/testdb?user=root&amp;"+</p>
<p>"password=123&amp;useUnicode=true&amp;characterEncoding=8859_1";<br />
Connection conn= DriverManager.getConnection(url); <br />
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); <br />
String sql="select * from test"; <br />
ResultSet rs=stmt.executeQuery(sql); %&gt;<br />
&lt;table&gt;&lt;tr&gt;&lt;td&gt;您的第一个字段内容为：&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;您的第二个字段内容为：&lt;/td&gt;&lt;/tr&gt;<br />
&lt;%<br />
while(rs.next()) {%&gt; <br />
&lt;tr&gt;&lt;td&gt;<br />
&lt;%=rs.getString(1)%&gt; &lt;/td&gt;&lt;td&gt;<br />
&lt;%=rs.getString(2)%&gt; &lt;/td&gt;&lt;/tr&gt;<br />
&lt;%}%&gt; <br />
&lt;/table&gt;<br />
&lt;%out.print("数据库操作成功，恭喜你");%&gt; <br />
&lt;%rs.close(); <br />
stmt.close(); <br />
conn.close(); <br />
%&gt; <br />
&lt;/body&gt; <br />
</p>
 <img src ="http://www.blogjava.net/caihualin/aggbug/164104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/caihualin/" target="_blank">蔡华林</a> 2007-11-29 20:32 <a href="http://www.blogjava.net/caihualin/articles/164104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>