用于真实设备的IBM Worklight SQL适配器

时间:2014-05-09 06:30:52

标签: android ibm-mobilefirst worklight-adapters worklight-server

如果我使用本地数据库,比如MySQL,它在模拟器和模拟器上运行完美,但对于真实设备,localhost不会这样做,所以我尝试了在线数据库托管。

当使用来自www.freemysqlhosting.net的在线托管时,我使用提供的id和密码在Eclipse的数据库开发视角中设置了数据库,因此它在我的模拟器,模拟器和连接到它的真实设备上运行良好与设置该数据库的系统相同的网络,但对于任何匿名设备,它都失败了!

然后我尝试使用sqllite,再次使用模拟器和模拟器,但对于真实设备,它显示UNRESPONSIVE_HOST错误。

我的问题是:如果我想使用IBM Worklight开发一个使用某个数据库并希望分发它的应用程序,我该怎么办呢?

3 个答案:

答案 0 :(得分:1)

如果您只是从LogCat提供错误日志,那将会更有帮助...

使用Android时,最好不要使用localhost,而是使用实际的IP地址。请参阅此问题:IBM Worklight - Unable to connect to database when using IP address instead of localhost

MySQL是一个像任何其他服务器一样的服务器;如果您想在私有本地网络之外使用它,那么您只需将其打开到来自公共Internet的传入连接。这不是开发人员需要大惊小怪的事情,而是IT部门的目标。 So google and see how to open your network

答案 1 :(得分:1)

这听起来好像是您尝试直接从您的设备访问数据库。是这样的吗?

我强烈建议您在此处使用Worklight Adapters。所以模式如下:

 App on Device ---> Adapter ---> Database

在该模式中,从Device到适配器的责任在于Worklight,因此应该完全不受它是真实设备还是模拟设备的影响,并且还应该独立于您使用的特定数据库或它在哪里。

从适配器到数据库的跳跃是您可以设置和测试的,甚至无需在任何地方部署。只需使用Eclipse中的测试环境来调用适配器方法。

为什么不直接从设备转到数据库?一般来说,这是一个非常糟糕的安全模式,您可以有效地将您关心的数据放在一个非常黑客的地方。此外,它不能很好地扩展到大量用户:直接从设备连接意味着有效地每个用户都有自己的连接,通过适配器用户共享可控数量的连接。

答案 2 :(得分:0)

问题不在于SQL服务器与设备和Worklight服务器之间的连接。您需要能够从设备连接到Worklight服务器。打开设备上的浏览器并将其指向Worklight控制台,看看您是否可以访问它。