我正在尝试建立一个由Azure驱动的数据库,供subunit2sql使用。在subunit2sql db设置步骤中,需要创建模式如下:
subunit2sql-db-manage --database-connection mysql://subunit:pass@127.0.0.1/subunit upgrade head用mssql替换mysql选项卡,并在创建到azure DB的odbc SDN连接之后,我能够看到数据库。
但是,subunit2sql连接总是在下面的跟踪中失败。我的理解是,我可能没有为炼金术/python使用适当的配置,但这些消息使我感到困惑,就好像我使用isql进行了例如与SDN信息的连接一样,我可以很好地连接它。
我正在执行的命令是:
subunit2sql-db-manage --verbose --database-connection mssql://user:'pwd'@remote_host/DB upgrade head我确实在/etc/odbcinst.ini和/etc/odbc.ini下面有odbc配置,但是上面的配置失败了: oslo_db.exception.DBError:(pyodbc.Error) (‘I 002’,'IM002Driver ManagerData源名未找到,并且没有指定默认驱动程序(0) (SQLDriverConnect)')。
(对不起,我不能在这里添加subuni2sql标记,因为我没有分数)
发布于 2016-05-05 07:23:00
分享我的测试。希望能帮上忙。
根据requirements.txt of project subunit2sql on GitHub这一工具所需的GitHub包,因此我通过pymssql驱动程序引用SQLAlchemy 文档对Microsoft数据库的支持来设置与Azure SQL数据库连接字符串的数据库连接,请参见下面的内容。
subunit2sql-db-manage --database-connection mssql+pymssql://<username>@<hostname>:<password>@<hostname>.database.windows.net:1433/<database> upgrade head注意:您可以在Azure门户上的字符串中找到变量username、password、hostname和database。
要成功连接SQL数据库,您需要在运行上述命令之前执行以下步骤。
作为参考,我的环境是Ubuntu14.04LTS。
Configure development environment for Python development来安装所需的Python包。/etc/odbcinst.ini文件,例如如下所示。
FreeTDS驱动程序=/usr/local/lib/libtdsodbc.so安装程序=/usr/local/lib/libtdsodbc.so Server={hostname}.database.windows.net UsageCount=1 Port=1433 Database={数据库} User={username}@{hostname} Password={password} TDS_Version=7.2 client_charset=utf-8尽管我获得了如下错误信息,但成功地连接了SQL数据库。
oslo_db.exception.DBError:(pymssql.ProgrammingError) (102,“
'.DB-Lib error message 102, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 156, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\n") [SQL: 'INSERT INTO test_metadata_new (id,key`‘、value、test_id、new_test_id附近的不正确语法)从tn.id = tm.test_id的test_metadata tm内连接tests_new万亿中选择tm.id、tm.key、tm.value、tm.test_id、tn.new_id ]
https://stackoverflow.com/questions/37036209
复制相似问题