Java与数据库的连接
我正在尝试使用jadejava和jdbc连接到数据库Java与数据库的连接,java,jdbc,agents-jade,Java,Jdbc,Agents Jade,我正在尝试使用jadejava和jdbc连接到数据库 public class IntermediaryAgent extends Agent{ private Connection con; protected void setup() { Class.forName("oracle.jdbc.driver.OracleDriver"); con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:xe"
public class IntermediaryAgent extends Agent{
private Connection con;
protected void setup()
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1522:xe","hr","hr");
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery("SELECT * FROM data");
rs.next();
int id=rs.getInt(1);
String name=rs.getString("NAME");
String surname=rs.getString("SURNAME");
int age=rs.getInt(4);
System.out.println(""+id+" "+name+" "+surname+" "+age);
rs.close();
stmt.close();
con.close();
DFAgentDescription df=new DFAgentDescription();
df.setName(getAID());
ServiceDescription sd =new ServiceDescription();
sd.setType("Agent");
sd.setName("inter");
df.addServices(sd);
try {
DFService.register(this, df);
} catch (FIPAException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void takeDown()
{
try {
DFService.deregister(this);
} catch (FIPAException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但我有一个错误
2012-05-24 18:15:27 jade.core.Runtime beginContainer
INFO: ----------------------------------
This is JADE snapshot - revision $WCREV$ of $WCDATE$
downloaded in Open Source, under LGPL restrictions,
at http://jade.tilab.com/
----------------------------------------
2012-05-24 18:15:29 jade.core.BaseService init
INFO: Service jade.core.management.AgentManagement initialized
2012-05-24 18:15:29 jade.core.BaseService init
INFO: Service jade.core.messaging.Messaging initialized
2012-05-24 18:15:29 jade.core.BaseService init
INFO: Service jade.core.mobility.AgentMobility initialized
2012-05-24 18:15:29 jade.core.BaseService init
INFO: Service jade.core.event.Notification initialized
2012-05-24 18:15:29 jade.core.messaging.MessagingService clearCachedSlice
INFO: Clearing cache
2012-05-24 18:15:29 jade.mtp.http.HTTPServer <init>
INFO: HTTP-MTP Using XML parser
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
2012-05-24 18:15:29 jade.core.messaging.MessagingService boot
INFO: MTP addresses:
http://10.1.242.245:7778/acc
2012-05-24 18:15:29 jade.core.AgentContainerImpl joinPlatform
INFO: --------------------------------------
Agent container Main-Container@mariusz is ready.
--------------------------------------------
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at agenty.IntermediaryAgent.polacz(IntermediaryAgent.java:120)
at agenty.IntermediaryAgent.setup(IntermediaryAgent.java:19)
at jade.core.Agent$ActiveLifeCycle.init(Agent.java:1519)
at jade.core.Agent.run(Agent.java:1465)
at java.lang.Thread.run(Unknown Source)
*** Uncaught Exception for agent p ***
java.lang.NullPointerException
at agenty.IntermediaryAgent.odczyt(IntermediaryAgent.java:144)
at agenty.IntermediaryAgent.setup(IntermediaryAgent.java:20)
at jade.core.Agent$ActiveLifeCycle.init(Agent.java:1519)
at jade.core.Agent.run(Agent.java:1465)
at java.lang.Thread.run(Unknown Source)
ERROR: Agent p died without being properly terminated !!!
State was 2
jade.domain.FIPAAgentManagement.FailureException: ((action ( agent-identifier :name
df@mariusz:1099/JADE :addresses (sequence http://10.1.242.245:7778/acc )) (deregister
(df-agent-description :name ( agent-identifier :name p@mariusz:1099/JADE :addresses
(sequence http://10.1.242.245:7778/acc ))))) not-registered)
at jade.domain.FIPAService.doFipaRequestClient(FIPAService.java:163)
at jade.domain.FIPAService.doFipaRequestClient(FIPAService.java:102)
at jade.domain.DFService.deregister(DFService.java:195)
at jade.domain.DFService.deregister(DFService.java:217)
at jade.domain.DFService.deregister(DFService.java:228)
at agenty.IntermediaryAgent.takeDown(IntermediaryAgent.java:43)
at jade.core.Agent.clean(Agent.java:1652)
at jade.core.Agent$ActiveLifeCycle.end(Agent.java:1567)
at jade.core.Agent.run(Agent.java:1495)
at java.lang.Thread.run(Unknown Source)
2012-05-2418:15:27 jade.core.Runtime beginContainer
信息:----------------------------------
这是JADE快照-修订版$WCREV$,共$WCDATE$
在LGPL限制下以开源方式下载,
在http://jade.tilab.com/
----------------------------------------
2012-05-24 18:15:29 jade.core.BaseService init
信息:服务jade.core.management.AgentManagement已初始化
2012-05-24 18:15:29 jade.core.BaseService init
信息:服务jade.core.messaging.messaging已初始化
2012-05-24 18:15:29 jade.core.BaseService init
信息:服务jade.core.mobility.AgentMobility已初始化
2012-05-24 18:15:29 jade.core.BaseService init
信息:服务jade.core.event.Notification已初始化
2012-05-24 18:15:29 jade.core.messaging.MessagingService clearCachedSlice
信息:正在清除缓存
2012-05-24 18:15:29 jade.mtp.http.HTTPServer
信息:使用XML解析器的HTTP-MTP
com.sun.org.apache.xerces.internal.jaxp.saxpasserimpl$jaxpsaxpasser
2012-05-24 18:15:29 jade.core.messaging.MessagingService启动
信息:MTP地址:
http://10.1.242.245:7778/acc
2012-05-24 18:15:29 jade.core.AgentContainerImpl平台
信息:--------------------------------------
代理容器总管-Container@mariusz准备好了。
--------------------------------------------
java.lang.ClassNotFoundException:oracle.jdbc.driver.OracleDriver
位于java.net.URLClassLoader$1.run(未知源)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于sun.misc.Launcher$AppClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClass(未知源)
位于java.lang.ClassLoader.loadClassInternal(未知源)
位于java.lang.Class.forName0(本机方法)
位于java.lang.Class.forName(未知源)
位于agenty.IntermediaryAgent.polacz(IntermediaryAgent.java:120)
位于agenty.IntermediaryAgent.setup(IntermediaryAgent.java:19)
位于jade.core.Agent$ActiveLifeCycle.init(Agent.java:1519)
位于jade.core.Agent.run(Agent.java:1465)
位于java.lang.Thread.run(未知源)
***代理p的未捕获异常***
java.lang.NullPointerException
位于agenty.IntermediaryAgent.odczyt(IntermediaryAgent.java:144)
位于agenty.IntermediaryAgent.setup(IntermediaryAgent.java:20)
位于jade.core.Agent$ActiveLifeCycle.init(Agent.java:1519)
位于jade.core.Agent.run(Agent.java:1465)
位于java.lang.Thread.run(未知源)
错误:代理p未正确终止而死亡!!!
州是2
jade.domain.FIPAAgentManagement.FailureException:((操作(代理标识符:名称
df@mariusz:1099/JADE:地址(顺序)http://10.1.242.245:7778/acc ))(撤销注册)
(df代理描述:名称(代理标识符:名称p@mariusz:1099/翡翠:地址
(顺序)http://10.1.242.245:7778/acc )))))(未注册)
位于jade.domain.FIPAService.doFipaRequestClient(FIPAService.java:163)
位于jade.domain.FIPAService.doFipaRequestClient(FIPAService.java:102)
在jade.domain.DFService.deregister上(DFService.java:195)
在jade.domain.DFService.deregister(DFService.java:217)上
在jade.domain.DFService.deregister上(DFService.java:228)
at agenty.IntermediaryAgent.takeDown(IntermediaryAgent.java:43)
位于jade.core.Agent.clean(Agent.java:1652)
位于jade.core.Agent$ActiveLifeCycle.end(Agent.java:1567)
运行(Agent.java:1495)
位于java.lang.Thread.run(未知源)
我尝试将简单java类(而不是使用代理)与jdbc代码一起使用,这是可行的。当我将jdbc与代理一起使用时,它不起作用。怎么了?你的类路径上需要Oracle JDBC驱动程序。它只是说
java.lang.ClassNotFoundException:Oracle.JDBC.driver.OracleDriver
@Texicans如果有机会,请接受/投票回答:)