2013-11-28 103 views
0

我想SimpleDB的安装到我的computer.I已定义的CLASSPATH环境变量SimpleDB的设置java.rmi.NotBoundException:SimpleDB的

.;C:\SimpleDB 

用户变量和系统变量CLASSPATH为

C:\Program Files\Java\jdk1.7.0_45\bin;C:\Program Files\Java\jdk1.7.0_45\jre\bin 

和PATH与CLASSPATH相同。我打开命令提示符并进入SimpleDB。然后我键入start rmiregistry。打开另一个窗口。之后,我键入java simpledb.server.Startup studentdb。 输出是:

new transaction: 1 
recovering existing database 
transaction 1 committed 
database server ready 

之后,我去了SimpleDB的\ studentClient \的SimpleDB和类型的Java CreateStudentDB.And它给了我下面的错误。

C:\SimpleDB\studentClient\simpledb>java CreateStudentDB 
java.sql.SQLException: java.rmi.ConnectException: Connection refused to host: 10 
.39.121.3; nested exception is: 
    java.net.ConnectException: Connection refused: connect 
    at simpledb.remote.SimpleDriver.connect(SimpleDriver.java:35) 
    at CreateStudentDB.main(CreateStudentDB.java:9) 
Caused by: java.rmi.ConnectException: Connection refused to host: 10.39.121.3; n 
ested exception is: 
    java.net.ConnectException: Connection refused: connect 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619) 
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216 
) 
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) 
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129) 
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(Remo 
teObjectInvocationHandler.java:194) 
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvo 
cationHandler.java:148) 
    at com.sun.proxy.$Proxy0.connect(Unknown Source) 
    at simpledb.remote.SimpleDriver.connect(SimpleDriver.java:31) 
    ... 1 more 
Caused by: java.net.ConnectException: Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.connect0(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI 
mpl.java:79) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja 
va:339) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket 
Impl.java:200) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java 
:182) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 
    at java.net.Socket.connect(Socket.java:579) 
    at java.net.Socket.connect(Socket.java:528) 
    at java.net.Socket.<init>(Socket.java:425) 
    at java.net.Socket.<init>(Socket.java:208) 
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirect 
SocketFactory.java:40) 
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMaster 
SocketFactory.java:147) 
    at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613) 
    ... 8 more 

rmiregistry的窗口已经打开,我没有关闭。为什么它给我这样的错误? 请给出一个想法。 谢谢。

回答

0

我刚刚在创建数据库时键入“java simpledb.server.Startup studentdb”到“启动java simpledb.server.Startup studentdb”,打开了另一个窗口。然后我继续执行上一个窗口中的相同操作。它工作正常为了我。