2009-07-01 105 views
0

我知道这是一个非常有帮助的社区..所以我希望我能为我的问题得到答案。实际上,我有一个通过JDBC与Oracle数据库联系的应用程序。如何通过WebStart部署JDBC客户端应用程序?

现在我想通过WebStart部署它。我在应用程序中有一个打印日志消息的文本区域。

一切顺利,jnlp在客户端下载我的应用程序jar。但突然间,日志区域说,它无法连接到数据库。我的意思是,当建立到数据库的连接时,我得到一个SQL异常。

什么可能会出错。 当我通过web启动部署应用程序时,是否应该包括任何其他jar/library? 但我听说我只能通过webstart和 下载一个jar文件,一个jar不能包含另一个jar文件。

请帮忙。

这里是我的JNLP文件

<?xml version="1.0" encoding="utf-8"?> 

<jnlp spec="0.2 1.0" codebase="http://172.16.3.214:8080/CRM" href="CsvClient.jnlp"> 

<information> 
    <title>CSV Import Client</title> 
    <vendor>CRM Software</Vendor> 
    <homepage href="index.jsp" /> 
    <description>CSV Import client</description> 
    <icon href="csv.gif" /> 
    <offline-allowed/> 
</information> 

<resources> 
    <j2se version="1.6+" /> 
    <jar href="csv.jar" /> 

</resources> 

<application-desc main-class="org.csv.Main" /> 

</jnlp> 

这是我经常拿jar文件Manifest.txt文件..

Manifest-Version: 1.0 

Main-Class: org.csv.Main 
+0

你可以发布你的SQLException堆栈跟踪吗? – Mark 2009-07-01 16:13:34

+0

你能提供sql异常输出吗? – northpole 2009-07-01 16:14:06

回答

1

你当然需要包括特定的JDBC驱动程序应用程序需要。你可以在jnlp资源中有几个罐子。 您可能还需要指定安全约束,默认情况下,jnlp应用程序在沙盒环境中运行,因此可能不允许连接到另一个主机(如数据库服务器)。但是,显示SQL异常,它应该包含什么错误的线索。

Here是一个不错的地方开始

0

你可以有多个罐子资源的JNLP。 JNLP文件也可以使用扩展JNLP文件。清单中的Main-Class条目用于java -jar,并被WebStart忽略。

Oracle发布了许多类型的数据库驱动程序。你可能想要纯Java的。您还需要安排应用程序从数据库所在的同一台计算机上提供(或者至少看起来像)。对于大型项目,通常会使用应用程序层(可能有点过于热切,因为这会导致更复杂的项目)。

0

如果您的数据库与Web服务器不是同一台主机,那么您已经超出了沙箱边界。

您必须签署代码才能允许授予其无限制的访问权限。检查JNLP文档。

相关问题