2012-10-16 36 views
0

您好,我已经在Eatj.com上托管了一个小型网页(JSP + Mysql),试用期为15天。我的问题是本地主机上的数据库连接成功,但托管我的连接字符串后发出异常。 代码:mysql远程主机

try{ 
    String connectionURL = "jdbc:mysql://pulicipaddress/dbname"; 

    Connection con= null; 
    Class.forName("com.mysql.jdbc.Driver"); 
    con = DriverManager.getConnection(connectionURL, "eatjid", "eatjpassword"); 
... 

它说,没有定义我的连接。

+0

你在哪里指定了端口?它应该是'jdbc:mysql:// pulicipaddress:port/dbname' – MaVRoSCy

+0

哪个端口3306或者ipchicken –

+0

显示的远程端口不知道ipchicken是什么。我正在谈论3306端口 – MaVRoSCy

回答

0

如果JSP和数据库都在eatj.com托管,我希望你已经从eatj.com获得数据库登录信息。我想 - 与大多数托管商一样 - 数据库不能从“外部”访问,因此它必须是一些内部服务器名称。

此外,当数据库和访问数据库的代码都在托管环境中运行时,通过公用地址访问数据库是没有意义的。

通常,在托管环境,工作的事情是这样的:

     +- "hoster only" ----------------+ 
External Viewer ----> | JSP-Code ----> Database Server | 
         +--------------------------------+ 

外部观众请求创建的网页由JSP,JSP的确实在“主机供应商唯一的”环境的一切。

+0

我不知道如果两者都托管或不。我只是要求上传在DOS中创建的ROOT.war文件。 –

+0

在EATJ中展示的规则之一如下所示:如果使用数据库,则必须使用数据库连接池。对于示例连接池代码,可以下载sample.zip(检查DBConnector.java和DBUtil.java)。您不仅可以节省资源,还可以通过使用连接池来提高应用程序性能。并发连接的最大数量为10. –

+0

如果数据库未托管,则应在何处存储其他位置?我建议你下载这个示例,并通过阅读他们的文档来检查他们是如何做的。 –