我想知道是否有办法获取已安装的sql developer的版本,以及该版本是否首次在pc上运行。 我想做的就是这样
Version = [installedVersion]
isTheFirstTime = [true, or false]
if(Version == xx and isTheFirstTime)
{
TODO
}
我知道这个问题有点含糊,但我需要:D 哦,我也需要oracle客户端版本。 这里的问题是idont知道从哪里获取这种数据。
谢谢
答案 0 :(得分:2)
了解从未运行过sqldev版本x.y.z的最简单方法是对照未压缩的版本检查设置。
sqldev的版本位于../bin目录中的一个名为version.properties的文件中。
:~ klrice$ cd sqldeveloper/bin
kriss-MacBook-Pro:bin klrice$ ls
..
version.properties <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< THE FILE
..
kriss-MacBook-Pro:bin klrice$ more version.properties
COMPANY=Oracle
PRODUCT=SQL Developer
VERSION=18.03001761612f
VER=18.3.0 <<<<<<<<<<<<<<<<<<<<<<<<<< VERSION
VER_FULL=18.3.0.176.1612 <<<<<<<<<<<<<<<<<<<<<<<<<< VERSION
BUILD_LABEL=176.1612
BUILD_NUM=176.1612
EDITION=
一旦知道该版本,就可以针对设置进行检查,该设置将为每个版本的sqldev运行一个目录。这些设置使用版本号作为目录名称。
在Windows上,它位于AppData\Roaming\SQL Developer
中
在linux / osx上,它位于~/.sqldeveloper
kriss-MacBook-Pro:bin klrice$ ls ~/.sqldeveloper/
17.0.0/
4.2.0/
17.3.0/
17.3.1/
17.4.0/
18.1.0/
18.3.0/
4.1.5/
...
现在的诀窍是在启动sqldeveloper.exe(.sh)之前有一个包装器/批处理/ shell脚本,以在启动测试并建立设置目录之前捕获测试的情况。
现在,如果您打算将Java扩展编写为sqldev,则还有更多选择,例如具有专用的首选项来跟踪代码段是否已运行。
答案 1 :(得分:0)
SQL Developer的版本将在注册表中的DisplayName下:
参考: https://stackoverflow.com/a/26686738/495455
很难判断该应用程序是否已运行一次。在新系统上安装并在首次运行时,运行Process Monitor并查找其在首次运行时创建的任何文件或注册表项。
或者,您可以查询EventLogs并检查其是否已运行一次。您可以使用LogParser 使用SQL语法快速查询EventLog。