Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Error ORA-00604 and ORA-12705


Автор: di109 4.2.2013, 18:41
При соединение с БД Oracle Database 11g Express Edition, NetBeans IDE 7.2 выдает ошибку:

ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified
---------------------------------------------------------------------------------------------
О настройках.

сейчас - NLS_LANG = AMERICAN_AMERICA.WE8ISO8859P1

также пробовал NLS_LANG = RUSSIAN_RUSSIA.CL8MSWIN1251 и NLS_LANG = AMERICAN_AMERICA.CL8MSWIN1251

NetBeans 7.2\etc\netbeans.conf, имеет -J-Duser.region=us -J-Duser.language=en
---------------------------------------------------------------------------------------------
Вот код соединения:

Код

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package testconnora;

import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
/**
 *
 * @author
 */
public class TestConnOra {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        System.out.println("-------- Oracle JDBC Connection Testing ------");
 
        try {
 
            Class.forName("oracle.jdbc.driver.OracleDriver");
 
        } catch (ClassNotFoundException e) {
 
            System.out.println("Where is your Oracle JDBC Driver?");
            e.printStackTrace();
            return;
 
        }
 
        System.out.println("Oracle JDBC Driver Registered!");
 
        Connection connection = null;
 
        try {
 
            connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@localhost:1521:XE", "CSE_DEPT",
                    "reback");
 
        } catch (SQLException e) {
 
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;
 
        }
 
        if (connection != null) {
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
        
    }
}



В чем проблема?

--------------------------------------------------------------------------------------------
И еще если я соединяюсь с этой же БД, через графический интерфейс  NetBeans (вкладка Службы -> узел БД -> Connect),
то соединение успешно проходит. Вопрос почему я не могу соединиться через код? 


Автор: mbasil 12.2.2013, 21:00
Несколько лет назад упражнялся с "XE"  и не мог подключиться с русской локалью по умолчанию, поэтому делал дурацкие телодвижения подобные следующим:

Код

       Connection conn = null;
        try {
             Locale defLoc = null;
             int len = url.length();
             if( "XE".equalsIgnoreCase( url.substring( len-2 ))) {
                defLoc = Locale.getDefault();
                Locale.setDefault( Locale.US );
              }
              conn = driver.connect( url, dbProps );
              if( defLoc != null ) {
                     Locale.setDefault( defLoc );
              }
         } catch( SQLException e ) {
              throw new OpenConnException( e );   
         }
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)