【发布时间】:2018-08-12 11:45:56
【问题描述】:
我有一个显示系统中可用端口列表的 Java 程序。
这个程序在命令提示符下运行良好。但是现在我想通过 PL/SQL 来使用这个 Java 程序。
但我面临附件错误。
花费很多时间却无法成功。
下面是我的 Java 程序。
import javax.comm.*;
import java.util.*;
/** List all the ports available on the local machine. **/
public class TestPorts
{
public static void main (String args[])
{
Enumeration port_list = CommPortIdentifier.getPortIdentifiers();
while (port_list.hasMoreElements())
{
CommPortIdentifier port_id = (CommPortIdentifier)port_list.nextElement();
if (port_id.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
System.out.println ("Serial port: " + port_id.getName());
}
else if (port_id.getPortType() == CommPortIdentifier.PORT_PARALLEL)
{
System.out.println ("Parallel port: " + port_id.getName());
}
else
System.out.println ("Other port: " + port_id.getName());
}
} // main
} // class PortList[enter image description here][1]
D:\>loadjava -u hr1/hr1@orcl -v -resolve TestPorts.java
arguments: '-u' 'hr1/hr1@orcl' '-v' '-resolve' 'TestPorts.java'
creating : source TestPorts
loading : source TestPorts
resolving: source TestPorts
errors : source TestPorts
ORA-29535: source requires recompilation
TestPorts:10: cannot resolve symbol
symbol : variable CommPortIdentifier
location: class TestPorts
Enumeration port_list = CommPortIdentifier.getPortIdentifiers();
^
TestPorts:14: cannot resolve symbol
symbol : class CommPortIdentifier
location: class TestPorts
CommPortIdentifier port_id = (CommPortIdentifier)port_list.nextElement();
^
TestPorts:14: cannot resolve symbol
symbol : class CommPortIdentifier
location: class TestPorts
CommPortIdentifier port_id = (CommPortIdentifier)port_list.nextElement();
^
TestPorts:16: cannot resolve symbol
symbol : variable CommPortIdentifier
location: class TestPorts
if (port_id.getPortType() == CommPortIdentifier.PORT_SERIAL)
^
TestPorts:20: cannot resolve symbol
symbol : variable CommPortIdentifier
location: class TestPorts
else if (port_id.getPortType() == CommPortIdentifier.PORT_PARALLEL)
^
5 errors
The following operations failed
source TestPorts: resolution
exiting : Failures occurred during processing
D:\>
【问题讨论】:
-
理想的方法是使用 Javaload 将 java 类加载到 Oracle 数据库并作为 Java Stored Procedures 执行
-
首先编译类,确保没有错误,然后使用开关加载和编译类文件。并确保所有必要的 JAR 文件也加载到数据库中。
标签: java java-stored-procedures