Java 如何在Google App Engine上连接到远程RDBMS

Java 如何在Google App Engine上连接到远程RDBMS,java,google-app-engine,jdbc,rdbms,jdo,Java,Google App Engine,Jdbc,Rdbms,Jdo,我知道GAE使用自己的NoSQL大表数据存储进行持久化。但我想知道是否可以连接到外部/远程/非GAE数据库 我明白了,至少截至2012年8月。但我想知道是否有其他方法可以点击远程数据库并拉入数据 我在JDO方面很弱,但我相信它支持RDBMS连接。因此,一个潜在的途径可能是为RDBMS(MySQL)找到一个“JDO驱动程序”,并将其与我的WAR捆绑在一起。除此之外,我没有主意了。有什么想法吗?GAE不允许传出连接IIRC(任何人都可以随意更正),因此,不管JDO(或更好的JDO实现)的功能如何,它

我知道GAE使用自己的NoSQL大表数据存储进行持久化。但我想知道是否可以连接到外部/远程/非GAE数据库

我明白了,至少截至2012年8月。但我想知道是否有其他方法可以点击远程数据库并拉入数据


我在JDO方面很弱,但我相信它支持RDBMS连接。因此,一个潜在的途径可能是为RDBMS(MySQL)找到一个“JDO驱动程序”,并将其与我的WAR捆绑在一起。除此之外,我没有主意了。有什么想法吗?

GAE不允许传出连接IIRC(任何人都可以随意更正),因此,不管JDO(或更好的JDO实现)的功能如何,它都不会到达GAE之外。

对于任何未来的读者,这里是我的决定。我将在一个非GAE服务器(可能是AmazonEC2或Beanstalk,可能只是一个简单的GoDaddy服务器)上托管一个安全的(HTTPS)RESTful web服务。这并不重要,因为我的应用程序的这一部分不需要可伸缩

此web服务将等待来自我的GAE应用程序的RESTful API调用。此调用将包含它需要连接到的RDBMS的必要连接信息。web服务将包含它所需的所有必要的JDBC驱动程序


在收到调用后,它将连接到适当的(远程)RDBMS,提取它需要的数据(由调用中的说明提供),然后使用GoogleSQL的web服务将数据插入到我的GoogleSQL数据存储中。一旦进入,我的GAE应用程序将免费使用。

请阅读Thank@antony.trupe,但CloudSQL允许您对关系数据库进行CRUD,并由谷歌托管。我正在寻找我的GAE应用程序来连接1+个现有的、不可移植的(客户端)数据库。但这正是你正在搜索的(除非你不想让谷歌托管你的数据库)。我正在将云SQL数据库与库的基本CDATA源一起使用,它工作起来很有魅力。@da\u re-nope。你没有阅读我的问题-我正在尝试连接到现有的数据库。我不想让谷歌托管我的数据库,因为数据库已经存在,并且托管在其他地方。我理解你的意思:)。但是(如您所知)您不能在GAE中使用JDBC。我认为最简单的方法是备份现有数据库,并将内容移动到google cloud sql实例。您可以使用(ApacheCommons)HTTPClient访问外部资源,但是您需要一个外部“中间件”。。。FEGAE Servlet数据库实例。但我认为这是不必要的,也太复杂了。如果您需要这种连接,也许Amazon WS(Elastic Beanstalk)更适合您的需要。谢谢@DataNucleus(+1)-如果是这种情况(至少可以说是令人失望的),那么如果我们从盒子外面看会怎么样。正如其他几位用户已经指出的那样,谷歌SQL;有没有办法将来自外部/远程/现有RDBMS的数据暂存到我的GoogleSQL实例中,然后让我的应用程序从GoogleSQL中拉取数据?这并不是说效率最低,但如果通过GoogleSQL暂存不是一个选项(即GoogleSQL与GAE具有相同的安全限制),这些外部/远程/现有RDBMS上的进程如何序列化数据并通过HTTPS将其发送到我的GAE应用程序?