2

我已经在Win10-64bit的企业PC上安装了Sqldeveloper Version 19.1 64-bit Version。

它适用于嵌入式 jdbc 客户端,但我需要使用 Oracle OCI 客户端让它工作。一个原因是对取消长时间运行的查询的支持要好得多。

使用 OCI 客户端(厚驱动程序)肯定需要像 Instantclient_12_2 这样的客户端。我在我的工作站上没有管理员权限,因此将完整的 Instantclient_12_2 复制到了企业 PC。

由于我不允许自己更改 %PATH%,因此我创建了一个带有所需设置的 start.bat 文件,因为没有它,它也将无法工作(已经尝试过)。

PATH="C:\Users\myuser\OneDrive\Oracle\instantclient_12_2";%JAVA_HOME%;%PATH%
C:\Users\myuser\OneDrive\Oracle\sqldeveloper64\sqldeveloper.exe

当我尝试在不进行此更改的情况下配置另一个 Oracle-Client 时,我收到另一个错误,即需要在任何其他人之前定义到 Instantclient 的 PATH。

现在,使用这个 bat 文件启动 sqldeveloper 可以正常工作。可以使用内部 jdbc 客户端建立连接。

然后,我在 SQLdeveloper (Preferences/Database/Advanced) 中配置了 Oracle 客户端并选择了 Instantclient 目录。

按“测试”按钮打开消息日志“Oracle 客户端测试结果 - 日志”并显示错误。

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occured, Program will exit.
Unrecognized option: -

现在,我迷路了,因为我不是 Java 专家。我想知道,为什么 sqldeveloper 作为 Java 工具正在运行,但即时客户端说它无法创建 JVM。

我使用 OCI-client 的原因是,它对 User-breaks 有更好的支持。

4

2 回答 2

1

同时,我已经解决了。

测试结果:

Testing the Instant Client located at C:\Users\myuser\Oracle\instantclient_12_2
Testing client directory ... OK
Testing loading Oracle JDBC driver ... OK
Testing checking Oracle JDBC driver version ... OK
  Driver version: 12.2.0.1.0
Testing testing native OCI library load ... OK
Success! 

原因是以下错误:

  1. 忘记变量赋值前面的“set”(因为我通常使用 Unix)
  2. 在变量赋值期间使用引号,作为值的一部分(也与 UNIX 不同)。
  3. 添加了 JAVA_HOME 和 JRE_PATH

请参阅下面我的完整 bat 文件(已改编,因为路径名中有一些秘密信息):

REM Optional: setting of USE_OS_DATETIME_FORMAT changes DATE-Format
set USE_OS_DATETIME_FORMAT=1
set PATH=%USERPROFILE%\OneDrive - myCompany\Oracle\instantclient_12_2;%JAVA_HOME%;%PATH%

REM start your preferred sqldeveloper
"%USERPROFILE%\OneDrive - myCompany\Oracle\sqldeveloperx64.20.2\sqldeveloper.exe"C:\Users\myuser\OneDrive - myCompany\Oracle\sqldeveloperx64.19.1\sqldeveloper.exe"

此外,我已经为 bat 文件添加了一个快捷方式,现在我可以简单地使用 CRTL-SHIFT-S 启动它;-)

顺便说一句:相同的解决方案在 Win10 上也可以正常工作

于 2019-07-23T10:39:55.540 回答
1

如果没有管理员权限,也没有永久更改 %PATH% 环境的权限,您只需将整个目录安装在某处并添加一个 .BAT 文件,该文件会在调用 SQL-Developer 之前临时更改环境。

  1. 安装完整的 SQL-Developer,例如在C:\myprogs\sqldeveloper
  2. 在某处安装即时客户端,例如在C:\myprogs\instantclient_12_2
  3. 创建 .BAT 文件,例如C:\myprogs\sqldeveloper\startsqldev.bat具有以下内容:
set PATH=C:\myprogs\instantclient_12_2;%PATH%
REM start sqldeveloper
"C:\myprogs\sqldeveloper\sqldeveloper.exe"

它也适用于 > 20 的版本;-)

于 2021-01-08T12:20:07.323 回答