
看了web.py源码,关于连接数据库的函数如下(webpy/web/db.py):
1133 _databases = {}
1134 def database(dburl=None, **params):
1135 """Creates appropriate database using params.
1136
1137 Pooling will be enabled if DBUtils module is available.
1138 Pooling can be disabled by passing pooling=False in params.
1139 """
1140 dbn = params.pop('dbn')
1141 if dbn in _databases:
1142 return _databases[dbn](**params)
1143 else:
1144 raise UnknownDB, dbn
可以看出的是,dburl的确没有起到作用,注释里面也说了: Creates appropriate database using params。不过一般连接mysql数据库通过以下参数连接的话,应该是可以连接上的吧。(我没有试过远程,所以不敢肯定。)
import web
db = db.database(
dbn="mysql",
db="dbname",
host="host",
port=3306,
user="user",
pw="password"
)
云数据库不支持远程连接,如果你希望编写软件将数据库放在BAE的mysql中,可以尝试创建一个BAE应用,这个BAE应用可以连接数据库并进行 *** 作,然后返回结果,通过本地软件与BAE程序相结合实现数据的读写例如在BAE上开发一个数据库 *** 作的接口(通常可以返回一个JSON格式的数据,如果有二进制数据,可用base64编码),你的软件访问这个接口,然后由BAE的应用根据调用的参数去处理数据库 *** 作,然后将结果返回到你的客户端上。
直接通过软件远程调用数据库是不可以的,BAE的数据库不开放远程登录
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)