带有 web.py 的 monetdb(引发 UnknownDB、dbn 问题)

monetdb with web.py (raise UnknownDB, dbn issue)

我尝试将 web.py 框架用于 monetdb。

这是我的实现代码:

import web

render = web.template.render('templates/')
db       = web.database(dbn = 'monetdbd', user = 'monetdb', pw = 'monetdb', db = 'test')

urls = (
    '/','index'
)


class index:
    def GET(self,name):
        xSelect = db.select(x)
        return render.index(xSelect)

if __name__ == "__main__":
    app = web.application(urls,globals())
    app.run()

我在 运行 python code.py

时收到以下错误消息
Traceback (most recent call last):
  File "code.py", line 4, in <module>
    db       = web.database(dbn = 'monetdbd', user = 'monetdb', pw = 'monetdb', db = 'test')
  File "/usr/local/lib/python2.7/dist-packages/web.py-0.37-py2.7.egg/web/db.py", line 1145, in database
    raise UnknownDB, dbn
web.db.UnknownDB: monetdbd

数据库服务器是运行:

bmartis@bmartis-VirtualBox:~/Desktop/Monetdb/web$ ps ucx| grep -i monetdb
bmartis   2482  0.0  0.0  63956  2476 ?        Ssl  Jun29   0:33 monetdbd
bmartis@bmartis-VirtualBox:~/Desktop/Monetdb/web$

我不明白这里的数据库定义有什么问题。什么是正确的语法或 monetdb 不支持这个?

看来 web2py 目前不支持 MonetDB。您可以在 Chapter 6 of the web2py Complete Reference Manual 中找到支持的数据库和所需驱动程序的完整列表。截至今天,它看起来如下所示:

  • SQLite - sqlite3pysqlite2zxJDBC(在 Jython 上)
  • PostgreSQL - psycopg2pg8000zxJDBC(在 Jython 上)
  • MySQL - pymysqlMySQLd
  • 甲骨文 - cx_Oracle
  • MSSQL - pyodbcpypyodbc
  • FireBird - kinterbasdbfdbpyodbc
  • DB2 - pyodbc
  • Informix - informixdb
  • 安格尔 - ingresdbi
  • Cubrid - cubriddb
  • Sybase - Sybase
  • Teradata - pyodbc
  • SAPDB - sapdb
  • MongoDB - pymongo
  • IMAP - imaplib