AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 63216
In Process
M.N
M.N
Asked: 2009-09-08 21:16:42 +0800 CST2009-09-08 21:16:42 +0800 CST 2009-09-08 21:16:42 +0800 CST

ORA-12705: 无法访问 NLS 数据文件或指定的环境无效

  • 772

尝试在我的 Oracle 数据库 Oracle 10gR2 上创建连接池时出现此错误。

java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified

我可以通过 sqlplus 和 iSQLPlus 客户端连接到数据库,但是当我尝试使用这个 Java 程序进行连接时,我在初始化连接池并且它没有初始化连接池时收到此错误。

有人可以帮我解决吗?


数据库版本: Oracle version 10.2.0.1

操作系统: RHEL 4.0


这是一个在连接到我的数据库时抛出此错误的准系统 Java 代码。

import java.sql.*;

public class connect{
    public static void main(String[] args) {
        Connection con = null;
        CallableStatement cstmt = null;

        String url = "jdbc:oracle:thin:@hostname:1521:oracle";
        String userName = "username";
        String password = "password";

        try
        {
            System.out.println("Registering Driver ...");
            DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());

            System.out.println("Creating Connection ...");
            con = DriverManager.getConnection(url, userName, password);

            System.out.println("Success!");

        } catch(Exception ex) {
            ex.printStackTrace(System.err);
          } finally {
            if(cstmt != null) try{cstmt.close();}catch(Exception _ex){}
            if(con != null) try{con.close();}catch(Exception _ex){}
            }
    }

}
oracle
  • 4 4 个回答
  • 37499 Views

4 个回答

  • Voted
  1. FoxyBOA
    2010-04-09T04:53:43+08:002010-04-09T04:53:43+08:00

    我发现您可以将这两个参数传递给您的 Java 应用程序来解决问题:

    -Duser.country=en -Duser.language=en
    

    您也可以在环境变量级别配置值(取决于您的操作系统)。

    • 12
  2. qorodok
    2010-01-19T12:55:13+08:002010-01-19T12:55:13+08:00

    导入 java.util.*;

    Locale.setDefault(Locale.ENGLISH); // use this for change NLS
       String URL = "jdbc:oracle:thin:@//"+khost+":"+kport+"/"+kbasename;
    
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
       Connection con = DriverManager.getConnection(URL,kuser,kpassword);
    
    • 3
  3. Keith
    2009-09-12T07:07:44+08:002009-09-12T07:07:44+08:00

    什么是

    NLS_LANG

    在您尝试执行 java 程序的机器上设置为?如果您还没有,您应该首先取消设置 NLS_LANG 并尝试。如果这不起作用,请将其设置为特定数据库的字符集,看看是否能解决问题。

    • 1
  4. Benoit
    2009-09-11T05:08:07+08:002009-09-11T05:08:07+08:00

    Metalink 中的文档#158654.1 解释了如何解决此类错误。

    这可能是您的环境中的一个简单错误(查看 $NLS_* 环境变量)或权限权限(您对 $ORACLE_HOME/ocommon/nls/admin/data 有权限吗?)

    • 0

相关问题

  • 更改 Oracle 数据库的语言(代码页)

  • 安装 Oracle 数据库

  • Oracle 10 g - 无法释放表空间中的空间

  • Oracle 10g:备份失败,日志磁盘已满——如何恢复数据库?

  • 通过 SqlPlus 导出 Oracle BLOB

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve