gpt4 book ai didi

java - 从Powershell调用jar文件并处理返回值

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:25 25 4
gpt4 key购买 nike

我有以下情况:
1.我有一个Powershell脚本foo.ps1
2. 在这个脚本中,我想调用 bar.jar
3. Bar.jar 对 Oracle DB 运行查询
4. 该查询的结果应传回 foo.ps1

我使用 jar 来执行 DB 调用的原因是因为我安装了 32 位 Oracle 库,但是我无法强制 Powershell 以 32 位模式运行。我已经尝试过类似的解决方案
How to execute powershell script in 64 bit machine?
然而,尽管它在控制台中显示它切换到 32 位模式,但我仍然收到异常“尝试加载 Oracle 客户端库引发了 BadImageFormatException。在安装了 32 位 Oracle 客户端组件的 64 位模式下运行时,将会出现此问题。”

干杯!

最佳答案

我在 32 位 PowerShell 控制台中使用了 32 位 ODAC 库。

[System.Reflection.Assembly]::LoadWithPartialName('Oracle.DataAccess')

使用上述行导入后,您可以创建 Oracle 对象并连接到数据库并运行查询。

您还可以在 32 位后台作业中运行它。

Start-Job -ScriptBlock $oracle_script_block -RunAs32 | Wait-Job | Receive-Job

如果您仍然想使用 Java 代码,您可以像这样运行它:

$output = & java.exe -jar <oracle JAR>
Write-Host "Exit code: $LASTEXITCODE"
Write-Host "Output: $output"

正如 zdan 指出的那样,请确保 java.exe 是 32 位。

& java.exe -version

关于java - 从Powershell调用jar文件并处理返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16641308/

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