﻿<?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-AIRDREAM-随笔分类-JAVA知识点滴</title><link>http://www.blogjava.net/airdream/category/12378.html</link><description>JAVA DIARY</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 08:40:23 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 08:40:23 GMT</pubDate><ttl>60</ttl><item><title>quartz cron expression</title><link>http://www.blogjava.net/airdream/archive/2007/02/09/98941.html</link><dc:creator>AIRDREAM</dc:creator><author>AIRDREAM</author><pubDate>Fri, 09 Feb 2007 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/airdream/archive/2007/02/09/98941.html</guid><wfw:comment>http://www.blogjava.net/airdream/comments/98941.html</wfw:comment><comments>http://www.blogjava.net/airdream/archive/2007/02/09/98941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/airdream/comments/commentRss/98941.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/airdream/services/trackbacks/98941.html</trackback:ping><description><![CDATA[
		<p>
 A "Cron-Expression" is a string comprised of 6 or 7 fields separated by
 white space. The 6 mandatory and 1 optional fields are as follows: <br /></p>
		<table cellspacing="8">
				<tbody>
						<tr>
								<th align="left">Field Name</th>
								<th align="left"> </th>
								<th align="left">Allowed Values</th>
								<th align="left"> </th>
								<th align="left">Allowed Special Characters</th>
						</tr>
						<tr>
								<td align="left">
										<code>Seconds</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>0-59</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * /</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Minutes</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>0-59</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * /</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Hours</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>0-23</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * /</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Day-of-month</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>1-31</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * ? / L W C</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Month</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>1-12 or JAN-DEC</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * /</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Day-of-Week</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>1-7 or SUN-SAT</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * ? / L C #</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>Year (Optional)</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>empty, 1970-2099</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>, - * /</code>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
 The '*' character is used to specify all values. For example, "*" in the
 minute field means "every minute".
 </p>
		<p>
 The '?' character is allowed for the day-of-month and day-of-week fields. It
 is used to specify 'no specific value'. This is useful when you need to
 specify something in one of the two fileds, but not the other. See the
 examples below for clarification.
 </p>
		<p>
 The '-' character is used to specify ranges For example "10-12" in the hour
 field means "the hours 10, 11 and 12".
 </p>
		<p>
 The ',' character is used to specify additional values. For example
 "MON,WED,FRI" in the day-of-week field means "the days Monday, Wednesday,
 and Friday".
 </p>
		<p>
 The '/' character is used to specify increments. For example "0/15" in the
 seconds field means "the seconds 0, 15, 30, and 45". And "5/15" in the
 seconds field means "the seconds 5, 20, 35, and 50". You can also specify
 '/' after the '*' character - in this case '*' is equivalent to having '0'
 before the '/'.
 </p>
		<p>
 The 'L' character is allowed for the day-of-month and day-of-week fields.
 This character is short-hand for "last", but it has different meaning in
 each of the two fields. For example, the value "L" in the day-of-month field
 means "the last day of the month" - day 31 for January, day 28 for February
 on non-leap years. If used in the day-of-week field by itself, it simply
 means "7" or "SAT". But if used in the day-of-week field after another
 value, it means "the last xxx day of the month" - for example "6L" means
 "the last friday of the month". When using the 'L' option, it is important
 not to specify lists, or ranges of values, as you'll get confusing results.
 </p>
		<p>
 The 'W' character is allowed for the day-of-month field.  This character 
 is used to specify the weekday (Monday-Friday) nearest the given day.  As an 
 example, if you were to specify "15W" as the value for the day-of-month 
 field, the meaning is: "the nearest weekday to the 15th of the month".  So
 if the 15th is a Saturday, the trigger will fire on Friday the 14th.  If the
 15th is a Sunday, the trigger will fire on Monday the 16th.  If the 15th is
 a Tuesday, then it will fire on Tuesday the 15th.  However if you specify
 "1W" as the value for day-of-month, and the 1st is a Saturday, the trigger
 will fire on Monday the 3rd, as it will not 'jump' over the boundary of a 
 month's days.  The 'W' character can only be specified when the day-of-month 
 is a single day, not a range or list of days.  
 </p>
		<p>
 The 'L' and 'W' characters can also be combined for the day-of-month 
 expression to yield 'LW', which translates to "last weekday of the month".
 </p>
		<p>
 The '#' character is allowed for the day-of-week field. This character is
 used to specify "the nth" XXX day of the month. For example, the value of
 "6#3" in the day-of-week field means the third Friday of the month (day 6 =
 Friday and "#3" = the 3rd one in the month). Other examples: "2#1" = the
 first Monday of the month and "4#5" = the fifth Wednesday of the month. Note
 that if you specify "#5" and there is not 5 of the given day-of-week in the
 month, then no firing will occur that month.
 </p>
		<p>
 The 'C' character is allowed for the day-of-month and day-of-week fields.
 This character is short-hand for "calendar". This means values are
 calculated against the associated calendar, if any. If no calendar is
 associated, then it is equivalent to having an all-inclusive calendar. A
 value of "5C" in the day-of-month field means "the first day included by the
 calendar on or after the 5th". A value of "1C" in the day-of-week field
 means "the first day included by the calendar on or after sunday".
 </p>
		<p>
 The legal characters and the names of months and days of the week are not
 case sensitive.
 </p>
		<p>
 Here are some full examples: <br /></p>
		<table cellspacing="8">
				<tbody>
						<tr>
								<th align="left">Expression</th>
								<th align="left"> </th>
								<th align="left">Meaning</th>
						</tr>
						<tr>
								<td align="left">
										<code>"0 0 12 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 12pm (noon) every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * *"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 * * ? *"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 * * ? 2005"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am every day during the year 2005</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 * 14 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire every minute starting at 2pm and ending at 2:59pm, every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 0/5 14 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 0/5 14,18 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire
every 5 minutes starting at 2pm and ending at 2:55pm, AND fire every 5
minutes starting at 6pm and ending at 6:55pm, every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 0-5 14 * * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire every minute starting at 2pm and ending at 2:05pm, every day</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 10,44 14 ? 3 WED"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 2:10pm and at 2:44pm every Wednesday in the month of March.</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * MON-FRI"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am every Monday, Tuesday, Wednesday, Thursday and Friday</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 15 * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on the 15th day of every month</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 L * ?"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on the last day of every month</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * 6L"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on the last Friday of every month</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * 6L"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on the last Friday of every month</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * 6L 2002-2005"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on every last friday of every month during the years 2002, 2003, 2004 and 2005</code>
								</td>
						</tr>
						<tr>
								<td align="left">
										<code>"0 15 10 ? * 6#3"</code>
								</td>
								<td align="left"> 
 </td>
								<td align="left">
										<code>Fire at 10:15am on the third Friday of every month</code>
								</td>
						</tr>
				</tbody>
		</table>
		<p>
 Pay attention to the effects of '?' and '*' in the day-of-week and
 day-of-month fields!
 </p>
		<p>
				<b>NOTES:</b>
		</p>
		<ul>
				<li>Support for the features described for the 'C' character is not
 complete.</li>
				<li>Support for specifying both a day-of-week and a day-of-month value is
 not complete (you'll need to use the '?' character in on of these fields).
 </li>
				<li>Be careful when setting fire times between mid-night and 1:00 AM -
 "daylight savings" can cause a skip or a repeat depending on whether the
 time moves back or jumps forward.</li>
		</ul>
<img src ="http://www.blogjava.net/airdream/aggbug/98941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/airdream/" target="_blank">AIRDREAM</a> 2007-02-09 11:02 <a href="http://www.blogjava.net/airdream/archive/2007/02/09/98941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>两个有用的ANT辅助包</title><link>http://www.blogjava.net/airdream/archive/2006/12/29/90689.html</link><dc:creator>AIRDREAM</dc:creator><author>AIRDREAM</author><pubDate>Fri, 29 Dec 2006 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/airdream/archive/2006/12/29/90689.html</guid><wfw:comment>http://www.blogjava.net/airdream/comments/90689.html</wfw:comment><comments>http://www.blogjava.net/airdream/archive/2006/12/29/90689.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/airdream/comments/commentRss/90689.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/airdream/services/trackbacks/90689.html</trackback:ping><description><![CDATA[1。<font size="4">Antelope</font><p class="logoH1">网址：<a src="http://antelope.tigris.org/">http://antelope.tigris.org/</a></p><p>我用到过一个控制时间的<limit>标签 <br /><br />2。<font size="4">ant-contrib<br /></font><br />网址：<a src="ant-contrib.sourceforge.net">ant-contrib.sourceforge.net</a><br /><br />我用到过&lt;if&gt;&lt;else&gt;&lt;then&gt;等逻辑标签。<br /><br />下面是我写的一个ant片断，用来copy不存在的文件，如果存在，则询问是否覆盖。<br /><code> &lt;!--  tasks for copy required system files --&gt;</code></limit></p><p> &lt;taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="../WEB-INF/lib/ant-contrib-1.0b2.jar" /&gt;</p><p> &lt;target name="deploySysFiles"&gt;<br />  &lt;var name="targetFile" unset="true" /&gt;<br />  &lt;property name="targetFile" value="${JavaStatusSchemePath}" /&gt;<br />  &lt;var name="originalFile" unset="true"/&gt;<br />  &lt;property name="originalFile" value="${JavaStatusSchemePath-Original}"/&gt;<br />  &lt;antcall target="deploySysFile" /&gt;<br /> &lt;/target&gt;</p><p> &lt;target name="deploySysFile"&gt;<br />  &lt;echo&gt;check file : ${targetFile} exist or not&lt;/echo&gt;<br />  &lt;available file="${targetFile}" property="targetFileExisting" /&gt;<br />  &lt;if&gt;<br />   &lt;not&gt;<br />    &lt;isset property="targetFileExisting" /&gt;<br />   &lt;/not&gt;<br />   &lt;then&gt;<br />    &lt;antcall target="copyTargetFile" /&gt;<br />   &lt;/then&gt;<br />   &lt;elseif&gt;<br />    &lt;isset property="targetFileExisting" /&gt;<br />    &lt;then&gt;<br />     &lt;antcall target="overrideTargetFile" /&gt;<br />    &lt;/then&gt;<br />   &lt;/elseif&gt;<br />  &lt;/if&gt;<br />  &lt;echo&gt;deploy system files over&lt;/echo&gt;<br /> &lt;/target&gt;</p><p> &lt;target name="overrideTargetFile"&gt;<br />  &lt;limit seconds="${timeoutSecond}"&gt;<br />   &lt;input validargs="y,n" addproperty="answer" defaultvalue="n" message="file '${targetFile}' already existed,do you want to override?" /&gt;<br />  &lt;/limit&gt;<br />  &lt;condition property="override"&gt;<br />   &lt;equals arg1="y" arg2="${answer}" /&gt;<br />  &lt;/condition&gt;<br />  &lt;if&gt;<br />   &lt;isset property="override" /&gt;<br />   &lt;then&gt;<br />    &lt;echo&gt;override the file...&lt;/echo&gt;<br />    &lt;copy tofile="${targetFile}" file="${originalFile}" overwrite="true" encoding="ms932" /&gt;<br />   &lt;/then&gt;<br />  &lt;/if&gt;<br /> &lt;/target&gt;<br /> &lt;target name="copyTargetFile"&gt;<br />  &lt;echo&gt;file ${targetFile} dose not existed,deploying this file&lt;/echo&gt;<br />  &lt;copy file="${originalFile}" tofile="${targetFile}" encoding="ms932" /&gt;<br /> &lt;/target&gt;<br /> &lt;!-- end copy system files. --&gt;<br /><br /></p><img src ="http://www.blogjava.net/airdream/aggbug/90689.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/airdream/" target="_blank">AIRDREAM</a> 2006-12-29 11:28 <a href="http://www.blogjava.net/airdream/archive/2006/12/29/90689.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>通过SFTP协议连接服务器－－J2SSH Maverick 简单使用</title><link>http://www.blogjava.net/airdream/archive/2006/06/27/55274.html</link><dc:creator>AIRDREAM</dc:creator><author>AIRDREAM</author><pubDate>Tue, 27 Jun 2006 04:02:00 GMT</pubDate><guid>http://www.blogjava.net/airdream/archive/2006/06/27/55274.html</guid><wfw:comment>http://www.blogjava.net/airdream/comments/55274.html</wfw:comment><comments>http://www.blogjava.net/airdream/archive/2006/06/27/55274.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/airdream/comments/commentRss/55274.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/airdream/services/trackbacks/55274.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">由于公司需要，在网上找了一下支持SFTP的包，发现俩个不错的，一个是 <span class="pageheader">Secure FTP Factory ，一个是 J2SSH Maverick ，但都<span class="pageheader">是收费的,现在简单介绍一下 J2SSH Maverick 怎样简单使用。代码如下：<br />/* HEADER */<br />import com.maverick.ssh.*;<br />import com.maverick.ssh2.*;<br />import java.io.*;</span></span></font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">import com.sshtools.net.*;<br />import com.sshtools.sftp.*;</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">/**<br /> * This example demonstrates the connection process connecting to an SSH2 server<br /> * and usage of the SFTP client.<br /> */<br />public class MySftpConnect {<br /> public static void main(String[] args) {<br />  MySftpConnect c = new MySftpConnect();<br />  c.createSftpClient("192.168.0.108", "szb", "szbpatternx86", 22);－－参数依次为主机名，用户名，密码，端口号。<br /> }</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader"> public void createSftpClient(String hostname, String username,<br />   String password, int port) {<br />  try {<br />   System.out.println("Connecting to " + hostname);</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">   // Create an SshConnector instance<br />   SshConnector con = SshConnector.getInstance();</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">   // Connect to the host<br />   SocketTransport t = new SocketTransport(hostname, port);<br />   t.setTcpNoDelay(true);<br />   SshClient ssh = con.connect(t, username);<br />   Ssh2Client ssh2 = (Ssh2Client) ssh;</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">   // Authenticate the user using password authentication<br />   com.maverick.ssh.PasswordAuthentication pwd = new com.maverick.ssh.PasswordAuthentication();<br />   do {<br />    pwd.setPassword(password);<br />   } while (ssh2.authenticate(pwd) != SshAuthentication.COMPLETE<br />     &amp;&amp; ssh.isConnected());<br />   // Start a session and do basic IO<br />   if (ssh.isAuthenticated()) {<br />    SftpClient sftp = new SftpClient(ssh2);<br />    // test create file.<br />    this.createTestFile(sftp);<br />   }<br />  } catch (Throwable th) {<br />   th.printStackTrace();<br />  }<br /> }</span>
								<br />
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">//测试IO操作<br /> public void createTestFile(SftpClient sftp) throws Exception {</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">  File textFile = new File(System.getProperty("user.home"), "shining.txt");<br />  FileOutputStream tout = new FileOutputStream(textFile);</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">  // Create a file with \r\n as EOL<br />  for (int i = 0; i &lt; 100; i++) {<br />   tout.write("All work and no play makes Jack a dull boy中文\r\n"<br />     .getBytes());<br />  }<br />  tout.close();</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">  // Perform some text mode operations指定文件存储为txt类型<br />  sftp.setTransferMode(SftpClient.MODE_TEXT);</span>
						</span>
				</font>
		</p>
		<p>
				<font size="2">
						<span class="pageheader">
								<span class="pageheader">  // Tell the client which EOL the remote client is using - note<br />  // that this will be ignored with version 4 of the protocol<br />  sftp.setRemoteEOL(SftpClient.EOL_LF);<br />  //将文件上传到服务器<br />  sftp.put(textFile.getAbsolutePath());<br /> }<br />}<br /><br />写的不太详细，请参考：<a href="http://3sp.com/kb/idx/0/014/article/Getting_started_with_J2SSH_Maverick.html">http://3sp.com/kb/idx/0/014/article/Getting_started_with_J2SSH_Maverick.html</a></span>
						</span>
				</font>
		</p>
<img src ="http://www.blogjava.net/airdream/aggbug/55274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/airdream/" target="_blank">AIRDREAM</a> 2006-06-27 12:02 <a href="http://www.blogjava.net/airdream/archive/2006/06/27/55274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用数据库JDBC连接写法（转）</title><link>http://www.blogjava.net/airdream/archive/2006/06/24/54834.html</link><dc:creator>AIRDREAM</dc:creator><author>AIRDREAM</author><pubDate>Sat, 24 Jun 2006 02:06:00 GMT</pubDate><guid>http://www.blogjava.net/airdream/archive/2006/06/24/54834.html</guid><wfw:comment>http://www.blogjava.net/airdream/comments/54834.html</wfw:comment><comments>http://www.blogjava.net/airdream/archive/2006/06/24/54834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/airdream/comments/commentRss/54834.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/airdream/services/trackbacks/54834.html</trackback:ping><description><![CDATA[为了方便大家查找，整理内容如下：<br />1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar<br />Class.forName( "org.gjt.mm.mysql.Driver" );<br />cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
<p>2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar<br />Class.forName( "org.postgresql.Driver" );<br />cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );
</p><p>3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip<br />Class.forName( "oracle.jdbc.driver.OracleDriver" );<br />cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );<br />4. Sybase(http://jtds.sourceforge.net)jconn2.jar
</p><p>Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );<br />cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );<br />//(Default-Username/Password: "dba"/"sql")
</p><p>5. Microsoft SQLServer(http://jtds.sourceforge.net)<br />Class.forName( "net.sourceforge.jtds.jdbc.Driver" );<br />cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );
</p><p>6. Microsoft SQLServer(http://www.microsoft.com)<br />Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );<br />cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );
</p><p>7. ODBC<br />Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );<br />Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );
</p><p>8.DB2(新添加)<br />Class.forName("com.ibm.db2.jdbc.net.DB2Driver");<br />String url="jdbc:db2://192.9.200.108:6789/SAMPLE"<br />cn = DriverManager.getConnection( url, sUsr, sPwd );
</p><p>9.Microsoft SQL Server series (6.5, 7.x and 2000) and Sybase 10
</p><p>JDBC Name: jTDS<br />URL: http://jtds.sourceforge.net/<br />Version: 0.5.1<br />Download URL: http://sourceforge.net/project/showfiles.php?group_id=33291
</p><p>语法:<br />Class.forName("net.sourceforge.jtds.jdbc.Driver ");<br />Connection con = DriverManager.getConnection("jdbc:jtds:sqlserver://host:port/database","user","password");<br />or<br />Connection con = DriverManager.getConnection("jdbc:jtds:sybase://host:port/database","user","password");
</p><p>10.Postgresql<br />JDBC Name: PostgreSQL JDBC<br />URL: http://jdbc.postgresql.org/<br />Version: 7.3.3 build 110<br />Download URL: http://jdbc.postgresql.org/download.html<br />语法:<br />Class.forName("org.postgresql.Driver"); <br />Connection con=DriverManager.getConnection("jdbc:postgresql://host:port/database","user","password");
</p><p>11.IBM AS400主机在用的JDBC语法<br />有装V4R4以上版本的Client Access Express<br />可以在C:\Program Files\IBM\Client Access\jt400\lib<br />找到 driver 档案 jt400.zip，并更改扩展名成为 jt400.jar<br />语法:<br />java.sql.DriverManager.registerDriver (new com.ibm.as400.access.AS400JDBCDriver ());<br />Class.forName("com.ibm.as400.access.AS400JDBCConnection");<br />con = DriverManager.getConnection("jdbc:as400://IP","user","password");
</p><p>12.informix<br />Class.forName("com.informix.jdbc.IfxDriver").newInstance(); <br />String url = <br />"jdbc:informix-sqli://123.45.67.89:1533/testDB:INFORMIXSERVER=myserver; <br />user=testuser;password=testpassword";<br />Lib：jdbcdrv.zip<br /><br />Class.forName( "com.sybase.jdbc.SybDriver" )<br />url="jdbc:sybase:Tds:127.0.0.1:2638/asademo";<br />SybConnection connection= (SybConnection)DriverManager.getConnection(url,"dba","sql");
</p><p>13.SAP DB<br />Class.forName ("com.sap.dbtech.jdbc.DriverSapDB");<br />java.sql.Connection connection = java.sql.DriverManager.getConnection ( "jdbc:sapdb://" + host + "/" + database_name,user_name, password)
</p><p>14.InterBase<br />String url = "jdbc:interbase://localhost/e:/testbed/database/employee.gdb";<br />Class.forName("interbase.interclient.Driver");<br />//Driver d = new interbase.interclient.Driver (); /* this will also work if you do not want the line above */<br />Connection conn = DriverManager.getConnection( url, "sysdba", "masterkey" );
</p><p>15.HSqlDB<br />url: http://hsqldb.sourceforge.net/<br />driver: org.hsqldb.jdbcDriver<br />连接方式有4种，分别为：<br />con-str（内存）: jdbc:hsqldb.<br />con-str（本地）: jdbc:hsqldb:/path/to/the/db/dir<br />con-str（http）: jdbc:hsqldb:http://dbsrv<br />con-str（hsql）: jdbc:hsqldb:hsql://dbsrv<br /></p><img src ="http://www.blogjava.net/airdream/aggbug/54834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/airdream/" target="_blank">AIRDREAM</a> 2006-06-24 10:06 <a href="http://www.blogjava.net/airdream/archive/2006/06/24/54834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>System.getProperties() 得到系统属性</title><link>http://www.blogjava.net/airdream/archive/2006/06/21/54299.html</link><dc:creator>AIRDREAM</dc:creator><author>AIRDREAM</author><pubDate>Wed, 21 Jun 2006 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/airdream/archive/2006/06/21/54299.html</guid><wfw:comment>http://www.blogjava.net/airdream/comments/54299.html</wfw:comment><comments>http://www.blogjava.net/airdream/archive/2006/06/21/54299.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/airdream/comments/commentRss/54299.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/airdream/services/trackbacks/54299.html</trackback:ping><description><![CDATA[System.getProperties() 可以得到很多系统的属性，如下： <br />{java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, <br />sun.boot.library.path=C:\Program Files\Java\j2re1.4.2_09\bin, <br />java.vm.version=1.4.2_09-b05, <br />java.vm.vendor=Sun Microsystems Inc., <br />java.vendor.url=http://java.sun.com/, <br />path.separator=;, <br />java.vm.name=Java HotSpot(TM) Client VM, <br />file.encoding.pkg=sun.io,<br /> user.country=CN, <br />sun.os.patch.level=Service Pack 2, <br />java.vm.specification.name=Java Virtual Machine Specification, <br />user.dir=D:\workspace\test, <br />java.runtime.version=1.4.2_09-b05, <br />java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, <br />java.endorsed.dirs=C:\Program Files\Java\j2re1.4.2_09\lib\endorsed, <br />os.arch=x86, <br />java.io.tmpdir=C:\DOCUME~1\szb\LOCALS~1\Temp\, <br />line.separator= , <br />java.vm.specification.vendor=Sun Microsystems Inc., <br />user.variant=, <br />os.name=Windows XP, <br />sun.java2d.fontpath=, <br />java.library.path=C:\Program Files\Java\j2re1.4.2_09\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;D:\apache-ant-1.6.5\bin;D:\jdk1.5.0_05\bin, <br />java.specification.name=Java Platform API Specification, <br />java.class.version=48.0, <br />java.util.prefs.PreferencesFactory=java.util.prefs.WindowsPreferencesFactory, <br />os.version=5.1, <br />user.home=C:\Documents and Settings\szb, <br />user.timezone=, <br />java.awt.printerjob=sun.awt.windows.WPrinterJob, <br />file.encoding=GBK, <br />java.specification.version=1.4, <br />java.class.path=D:\workspace\test, <br />user.name=szb, <br />java.vm.specification.version=1.0, <br />java.home=C:\Program Files\Java\j2re1.4.2_09, <br />sun.arch.data.model=32, <br />user.language=zh, <br />java.specification.vendor=Sun Microsystems Inc., <br />awt.toolkit=sun.awt.windows.WToolkit, <br />java.vm.info=mixed mode, <br />java.version=1.4.2_09, <br />java.ext.dirs=C:\Program Files\Java\j2re1.4.2_09\lib\ext, <br />sun.boot.class.path=C:\Program Files\Java\j2re1.4.2_09\lib\rt.jar;C:\Program Files\Java\j2re1.4.2_09\lib\i18n.jar;C:\Program Files\Java\j2re1.4.2_09\lib\sunrsasign.jar;C:\Program Files\Java\j2re1.4.2_09\lib\jsse.jar;C:\Program Files\Java\j2re1.4.2_09\lib\jce.jar;C:\Program Files\Java\j2re1.4.2_09\lib\charsets.jar;C:\Program Files\Java\j2re1.4.2_09\classes, <br />java.vendor=Sun Microsystems Inc., <br />file.separator=\, <br />java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, <br />sun.io.unicode.encoding=UnicodeLittle, <br />sun.cpu.endian=little, <br />sun.cpu.isalist=pentium i486 i386} <img src ="http://www.blogjava.net/airdream/aggbug/54299.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/airdream/" target="_blank">AIRDREAM</a> 2006-06-21 16:36 <a href="http://www.blogjava.net/airdream/archive/2006/06/21/54299.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>