我可以从我的 MSSql 服务器获取数据并通过一些 python 脚本将其上传到应用引擎吗?

Posted

技术标签:

【中文标题】我可以从我的 MSSql 服务器获取数据并通过一些 python 脚本将其上传到应用引擎吗?【英文标题】:Can I get data from my MSSql server and upload it to app engine via some python scripts? 【发布时间】:2013-08-29 08:29:17 【问题描述】:

我想编写一个 GAE 应用程序,从我的 MSSQL 服务器获取数据,将其转换并存储在 GAEs 云数据库中,并用于其他一些进程。

这有可能吗?我找不到任何关于将表单 gae 连接到 mssql 并查询数据的信息

我找到了Bulk Loader,但认为它对我没有任何用处。还有this page 扼杀了我对此的希望,看起来它没有 Windows 支持。

【问题讨论】:

我不熟悉GAE,但是要使用python和sql-server看看pymssql库:code.google.com/p/pymssql在Windows环境中安装:***.com/questions/4666290/… 一种方法是使用remote_api shell,在本地环境中运行的脚本可以同时连接到本地mysql服务器和远程appengine数据存储。但是,您问的是相当基本的问题,这表明您需要在开始任何事情之前做一些阅读。 亲爱的,@TimHoffman remote_api shell 不是我正在寻找的解决方案。我对使用 python 脚本从我的本地环境中操作 GAE 数据存储没有任何问题。问题是我想通过我的 GAE 应用程序 连接 mysql 服务器,并从中检索数据以存储在数据存储中。如果 remote_api shell 有这种能力,而我在阅读时错过了它,我希望你能多指导我一点。我开始使用 GAE 才 2 天,我读了很多书,还在学习。让我问一些我卡在哪里的问题并保存您的判断。我还不是专业人士。 我不相信您将有权执行此操作,而且您的数据库访问权限必须在全球范围内广泛开放,具体取决于您的 GAE 应用程序的哪个实例尝试连接到数据库。我能够访问远程数据库的唯一方法是在其前面放置一个 REST 接口并使用远程 api 访问工具,但是在开始计费之前,您每天只能获得这么多的这些。 【参考方案1】:

我使用pyodbc 连接我的 MSSQL 服务器,使用此代码行;

con = pyodbc.connect("DRIVER=SQL Server; SERVER=my_server_ip; DATABASE=db_name; UID=user_id; PWD=password; CHARSET=UNICODE")
cur = con.cursor()

(首先我编写了一些代码将数据库表转换为 CSV 文件,然后上传它们。)

之后我使用bulkloader 从表格上传和下载。 Bulkloader 文档缺少示例。我编写了这段代码以通过 os 库上传和下载,该库提供在脚本中工作的 dos 命令。提供 CSV 文件,以便在转换后从我存储的文件中上传。

上传:

os.system("appcfg.py upload_data --config_file=bulkloader.yaml --log_file=/logs --url=http://my_app_name.appspot.com/_ah/remote_api --kind=kind --filename=CSV_files/table_name.csv --email=my_email_adress)

下载:

os.system("bulkloader.py --download --config_file=bulkloader.yaml --kind=kind --url=http://my_app_name.appspot.com/_ah/remote_api --filename=CSV_files/table_name.csv")

【讨论】:

以上是关于我可以从我的 MSSql 服务器获取数据并通过一些 python 脚本将其上传到应用引擎吗?的主要内容,如果未能解决你的问题,请参考以下文章

MSSQL 触发 *** 连接

通过 php 中的 PDO 将 xampp 连接到在线 MSSQL 数据库

发出 GET 请求并在 AJAX、php 中发送最后日期

从 Django 网页中的 MSSQL 数据库中获取搜索结果

如何从视图中删除列

我应该如何从我的数据库中获取所有消息并返回它