gpt4 book ai didi

database - 无法使用squirrel-sql连接到docker中的oracle db

转载 作者:行者123 更新时间:2023-12-02 20:04:03 25 4
gpt4 key购买 nike

我试图连接到docker(https://hub.docker.com/r/sath89/oracle-xe-11g/)中的oracle db 11。

使用以下命令启动docker:

docker run -d -p 8080:8080 -p 1521:1521 -e DEFAULT_SYS_PASS=sYs-p@ssw0rd sath89/oracle-xe-11g

根据此说明:
主机名:localhost
端口:1521
sid:xe
用户名:system
密码:oracle

做了一个URL-jdbc:oracle:thin:@ 192.168.99.100:1521:xe

使用squirrel-sql会有错误:
类java.sql.SQLException:ORA-00604:在递归SQL级别1发生错误
ORA-12705:无法访问NLS数据文件或指定了无效的环境

但是,如果我尝试与SQLplus连接,那就可以了:
docker exec -ti oracle_id sqlplus bash

sqlplus

最佳答案

在登录之前,SquirrelSQL需要设置一些NLS变量。对于Docker连接,请注意,命令末尾有“bash”。这不仅告诉连接您将使用bash shell,还设置了使用bash_rc(也可能是配置文件)进行连接的环境。您来自本地计算机而不是SSH,因此使用的是本地计算机而不是SSH。

我相信有一个squirrel-sql.bat文件可以取消设置,然后设置环境或更佳的环境,让我们在注册表中取消设置,让本地连接正常进行:
在Windows机上:

在注册表中搜索NLS_LANG子项:\ HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE,对其进行重命名,保存更改,重新启动并重试。

关于database - 无法使用squirrel-sql连接到docker中的oracle db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51269639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com