我有一系列关于ODK聚合的调查,我想将结果信息作为表访问通过MySQL服务器托管的数据库中。当然,我也可以从ODK Aggregate下载数据,然后手动将其添加到MySQL上的数据库中。我的问题是如何将ODK Aggregate链接到MySQL,以便每次向ODK Aggregate中的电子表格添加新条目时,它都会显示在MySQL数据库中。(我已经通过谷歌App Engine安装了ODK Aggregate )
ODK Aggregate提供了许多用于“发布”数据的选项,所有这些选项都提供了“流式传输新提交”的能力,这正是我正在寻找的。我不明白的是,如何从他们提供给MySQL的发布选项中获取内容。
他们给出的选项是1.谷歌FushionTables 2.谷歌电子表格3. Z-ALPHA谷歌地图引擎4. Z-ALPHA REDCap服务器5. Z-ALPHA JSON服务器6. Z-ALPHA Ohmage JSON服务器
其中之一可以设置为将数据发送到MySQL中吗?
如果没有,是否有其他方法可以创建调查,其结果会自动发送到MySQL服务器上的数据库?
万分感谢。
发布于 2014-09-15 10:12:56
解决问题的最简单方法是在带有MySQL支持的Tomcat安装上安装ODK Aggregate。http://opendatakit.org/use/aggregate/tomcat-install/提供了相关说明。
发布于 2016-03-08 00:11:04
官方ODK社区不支持的另一种选择是使用Sean Herman从聚合源代码创建的docker image of aggregate。通过执行this guide安装Docker后,您可以简单地运行两个命令来获取docker镜像并启动MySQL容器和ODK聚合容器。以下是这两个命令的示例:(请注意,应根据需要更改环境变量。)
$ docker run -d --name <your mysql container name> -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<your password> -e MYSQL_DATABASE=<your schema name> -e MYSQL_USER=<your MySQL user name> -e MYSQL_PASSWORD=<your MySQL user password> mysql:5.7 请注意,对于端口映射(-p)选项,接受的参数如下:($HOSTPORT:$CONTAINERPORT)
现在使用以下命令运行ODKAggregate镜像:
$ docker run -d --name <your aggregate container name> --link <your mysql container name> -p 8080:8080 -e DB_CONTAINER_NAME=<your mysql container name> -e MYSQL_DATABASE=<your schema name> -e MYSQL_USER=<your MySQL user name> -e MYSQL_PASSWORD=<your MySQL user password> -e ODK_HOSTNAME=<wherever you are hosting your container... this must be the same as the url> -e ODK_ADMIN_USERNAME=<your admin user name> kharatsa/odkaggregate:latest这为我节省了用Tomcat设置ODK的时间,我希望它能对你有所帮助!
发布于 2017-02-08 03:52:52
您可以使用: ODK Tools是一个工具箱,用于将https://github.com/ilri/odktools测量数据处理到MySQL数据库中
https://stackoverflow.com/questions/25835302
复制相似问题