<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDatabase_SQL_JDBC%2FSQLException</id>
		<title>Java/Database SQL JDBC/SQLException - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FDatabase_SQL_JDBC%2FSQLException"/>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Database_SQL_JDBC/SQLException&amp;action=history"/>
		<updated>2026-04-21T13:38:27Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Database_SQL_JDBC/SQLException&amp;diff=6997&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Database_SQL_JDBC/SQLException&amp;diff=6997&amp;oldid=prev"/>
				<updated>2010-06-01T06:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:35, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://www.jexp.ru/index.php?title=Java/Database_SQL_JDBC/SQLException&amp;diff=6996&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.jexp.ru/index.php?title=Java/Database_SQL_JDBC/SQLException&amp;diff=6996&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:44Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Get Error Code, SQL State, Message ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
public class SqlException {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Connection conn = null;&lt;br /&gt;
    Statement stmt = null;&lt;br /&gt;
    ResultSet rs = null;&lt;br /&gt;
    try {&lt;br /&gt;
      String driver = &amp;quot;oracle.jdbc.driver.OracleDriver&amp;quot;;&lt;br /&gt;
      Class.forName(driver).newInstance();&lt;br /&gt;
      System.out.println(&amp;quot;Connecting to database...&amp;quot;);&lt;br /&gt;
      String jdbcUrl = &amp;quot;jdbc:oracle:thin:@localhost:1521:ORCL&amp;quot;;&lt;br /&gt;
      conn = DriverManager.getConnection(jdbcUrl, &amp;quot;yourName&amp;quot;, &amp;quot;mypwd&amp;quot;);&lt;br /&gt;
      stmt = conn.createStatement();&lt;br /&gt;
      try {&lt;br /&gt;
        rs = stmt.executeQuery(&amp;quot;Select * from no_table_exisits&amp;quot;);&lt;br /&gt;
      } catch (SQLException seRs) {&lt;br /&gt;
        String exMsg = &amp;quot;Message from MySQL Database&amp;quot;;&lt;br /&gt;
        String exSqlState = &amp;quot;Exception&amp;quot;;&lt;br /&gt;
        SQLException mySqlEx = new SQLException(exMsg, exSqlState);&lt;br /&gt;
        seRs.setNextException(mySqlEx);&lt;br /&gt;
        throw seRs;&lt;br /&gt;
      }&lt;br /&gt;
    } catch (SQLException se) {&lt;br /&gt;
      int count = 1;&lt;br /&gt;
      while (se != null) {&lt;br /&gt;
        System.out.println(&amp;quot;SQLException &amp;quot; + count);&lt;br /&gt;
        System.out.println(&amp;quot;Code: &amp;quot; + se.getErrorCode());&lt;br /&gt;
        System.out.println(&amp;quot;SqlState: &amp;quot; + se.getSQLState());&lt;br /&gt;
        System.out.println(&amp;quot;Error Message: &amp;quot; + se.getMessage());&lt;br /&gt;
        se = se.getNextException();&lt;br /&gt;
        count++;&lt;br /&gt;
      }&lt;br /&gt;
    } catch (Exception e) {&lt;br /&gt;
      e.printStackTrace();&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Handling a SQL Exception: how to retrieve the information in a SQLException. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    String driverName = &amp;quot;com.jnetdirect.jsql.JSQLDriver&amp;quot;;&lt;br /&gt;
    Class.forName(driverName);&lt;br /&gt;
    String serverName = &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
    String portNumber = &amp;quot;1433&amp;quot;;&lt;br /&gt;
    String mydatabase = serverName + &amp;quot;:&amp;quot; + portNumber;&lt;br /&gt;
    String url = &amp;quot;jdbc:JSQLConnect://&amp;quot; + mydatabase;&lt;br /&gt;
    String username = &amp;quot;username&amp;quot;;&lt;br /&gt;
    String password = &amp;quot;password&amp;quot;;&lt;br /&gt;
    Connection connection = DriverManager.getConnection(url, username, password);&lt;br /&gt;
    try {&lt;br /&gt;
      connection.createStatement().execute(&amp;quot;select wrong&amp;quot;);&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      while (e != null) {&lt;br /&gt;
        String message = e.getMessage();&lt;br /&gt;
        String sqlState = e.getSQLState();&lt;br /&gt;
        int errorCode = e.getErrorCode();&lt;br /&gt;
        driverName = connection.getMetaData().getDriverName();&lt;br /&gt;
        if (driverName.equals(&amp;quot;Oracle JDBC Driver&amp;quot;) &amp;amp;&amp;amp; errorCode == 123) {&lt;br /&gt;
        }&lt;br /&gt;
        e = e.getNextException();&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Logging errors to a file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
   &lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.io.PrintStream;&lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.Connection;&lt;br /&gt;
import java.sql.DriverManager;&lt;br /&gt;
import java.sql.ResultSet;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
import java.sql.Statement;&lt;br /&gt;
import java.util.GregorianCalendar;&lt;br /&gt;
public class Logging {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    FileOutputStream errors = new FileOutputStream(&amp;quot;StdErr.txt&amp;quot;, true);&lt;br /&gt;
    PrintStream stderr = new PrintStream(errors);&lt;br /&gt;
    PrintWriter errLog = new PrintWriter(errors, true);&lt;br /&gt;
    System.setErr(stderr);&lt;br /&gt;
    String query = &amp;quot;SELECT Name,Description,Qty,Cost,Sell_Price FROM Stock&amp;quot;;&lt;br /&gt;
    try {&lt;br /&gt;
      Class.forName(&amp;quot;sun.jdbc.odbc.JdbcOdbcDriver&amp;quot;);&lt;br /&gt;
      Connection con = DriverManager.getConnection(&amp;quot;jdbc:odbc:Inventory&amp;quot;);&lt;br /&gt;
      Statement stmt = con.createStatement();&lt;br /&gt;
      ResultSet rs = stmt.executeQuery(query);&lt;br /&gt;
      while (rs.next()) {&lt;br /&gt;
        String name = rs.getString(&amp;quot;Name&amp;quot;);&lt;br /&gt;
        String desc = rs.getString(&amp;quot;Description&amp;quot;);&lt;br /&gt;
        int qty = rs.getInt(&amp;quot;Qty&amp;quot;);&lt;br /&gt;
        float cost = rs.getFloat(&amp;quot;Cost&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    } catch (ClassNotFoundException e) {&lt;br /&gt;
      e.printStackTrace(errLog);&lt;br /&gt;
    } catch (SQLException e) {&lt;br /&gt;
      System.err.println((new GregorianCalendar()).getTime());&lt;br /&gt;
      System.err.println(&amp;quot;Thread: &amp;quot; + Thread.currentThread());&lt;br /&gt;
      System.err.println(&amp;quot;ErrorCode: &amp;quot; + e.getErrorCode());&lt;br /&gt;
      System.err.println(&amp;quot;SQLState:  &amp;quot; + e.getSQLState());&lt;br /&gt;
      System.err.println(&amp;quot;Message:   &amp;quot; + e.getMessage());&lt;br /&gt;
      System.err.println(&amp;quot;NextException: &amp;quot; + e.getNextException());&lt;br /&gt;
      e.printStackTrace(errLog);&lt;br /&gt;
      System.err.println();&lt;br /&gt;
    }&lt;br /&gt;
    stderr.close();&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Print the stack trace for a SQLException to STDERR. ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.PrintWriter;&lt;br /&gt;
import java.sql.SQLException;&lt;br /&gt;
/* &lt;br /&gt;
 * Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
 *  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
 *  this work for additional information regarding copyright ownership.&lt;br /&gt;
 *  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
 *  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
 *  the License.  You may obtain a copy of the License at&lt;br /&gt;
 *&lt;br /&gt;
 *      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
 *&lt;br /&gt;
 *  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
 *  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
 *  See the License for the specific language governing permissions and&lt;br /&gt;
 *  limitations under the License.&lt;br /&gt;
 *&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
public class Main {&lt;br /&gt;
&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to STDERR.&lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e) {&lt;br /&gt;
      printStackTrace(e, new PrintWriter(System.err));&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Print the stack trace for a SQLException to a &lt;br /&gt;
   * specified PrintWriter. &lt;br /&gt;
   *&lt;br /&gt;
   * @param e SQLException to print stack trace of&lt;br /&gt;
   * @param pw PrintWriter to print to&lt;br /&gt;
   */&lt;br /&gt;
  public static void printStackTrace(SQLException e, PrintWriter pw) {&lt;br /&gt;
      SQLException next = e;&lt;br /&gt;
      while (next != null) {&lt;br /&gt;
          next.printStackTrace(pw);&lt;br /&gt;
          next = next.getNextException();&lt;br /&gt;
          if (next != null) {&lt;br /&gt;
              pw.println(&amp;quot;Next SQLException:&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
      }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>