【问题标题】:Connecting to postgres database from a phonegap app?从 phonegap 应用程序连接到 postgres 数据库?
【发布时间】:2012-04-13 15:24:39
【问题描述】:

我正在尝试为 ios 和 android 构建一个 phonegap 应用程序。到目前为止一切顺利,但现在我遇到了一个重大障碍,我需要一些帮助。

我需要连接到远程 Postgres 数据库。我以前没有做过类似的事情。

有没有人对此有任何经验/提示,或者知道任何包含相关信息的资源?

【问题讨论】:

    标签: javascript postgresql cordova


    【解决方案1】:

    从客户端 javascript,你不能。除非 phonegap 对权限做了一些非常奇怪的事情,或者提供了 PostgreSQL 接口(如果他们有的话,你大概会知道)。

    您要做的是为 PostgreSQL 提供一个小型服务器端包装器,它将接收请求、将它们转换为查询并返回(可能)json 格式的结果。哦 - 您还需要考虑安全性 - 谁可以连接,他们可以做什么,是否都需要加密?

    如果您的要求很简单,这可以在 Perl/Python/Ruby 等中轻松完成,如果您手头有 node.js,甚至可以使用 javascript。使用 Perl,您可以将 DBIx::Class 包装在 Dancer 应用程序中 - 上述所有脚本语言都存在类似的模块。

    请考虑您是否要通过 https 运行整个事情(让 apache 为您处理) - 这将避免密码/私人数据通过无线连接被嗅探的问题。

    例如,您的应用会发出 ajax 请求到:http://myserver/projects/123/messages?limit=20&sort=date

    这将被转换为对按日期排序的最后 20 条消息的 project-messages 表的查询,并将结果包装为 JSON 对象数组(可能)。

    【讨论】:

    • 这可能是真棒的建议,但以我目前的经验水平,这是一个可怕的四段。 “一个小的服务器端包装器”....我真的不知道这意味着什么。我从来没有做过服务器端编程。这是一个独立的团队,负责管理这方面的事情。如果我理解正确,您是说我可以通过 javascript 连接到服务器并将查询转发给它,然后它发送到数据库 for 我?那正确吗? 假设服务器设置了这个脚本包装器?
    • 查看添加的示例。服务器端编程可能比客户端更简单。如果您只知道 javascript,请查看 node.js,否则 Perl 或 Python 都很流行。 Perl 的语法不如 Python 干净,但它的 CPAN 网络上有更多的模块。如果您正在学习 perl,不妨从这里开始:onyxneon.com/books/modern_perl/index.html - 付费购买纸质版本或免费下载。
    • 示例链接给了我一个“未找到服务器”错误;它会为你加载吗?
    • 什么是“myserver”——不,那只是一个虚构的 URL。您实际上需要为真实数据库编写一个包装器。
    【解决方案2】:

    您需要为您的数据创建一个 API。然后使用您的 js 应用程序中的 Promise 访问该 API。

    【讨论】:

      【解决方案3】:

      为了让它们所属的安全问题(在现有的服务器/客户端软件的经验和测试部分中)并有最小的开发工作量,我建议使用一些现有的轻量级中间件:

      它带有一个 docker,您需要的任何服务都包含在其中,因此可以轻松快速地试用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-14
        • 2011-12-04
        • 2020-12-05
        相关资源
        最近更新 更多