2016-05-04 13 views
0

subunit2sqlで使用するAzureパワードデータベースを設定しようとしています。 subunit2sqlのDBのセットアップ手順で が、次のようにスキーマを作成するには言及されています。MSSQLとMySQLのタブを交換Azureデータベースのsubunit2sql設定

subunit2sql-db-manage --database-connection mysql://subunit:[email protected]/subunit upgrade head 

、そして紺碧のDBへのODBC SDN接続を作成した後に - 私が見ることができますよデータベース。

ただし、subunit2sql接続は常に以下のトレースで失敗します。 私は、alchemy/pythonに適切な設定を使用していない可能性があることを理解していますが、メッセージが混乱しています。たとえば、isqlをSDN DB情報などに使用するかのように、私は/etc/odbcinst.iniと/etc/odbc.ini下のODBC設定を持っています

subunit2sql-db-manage --verbose --database-connection mssql://user:'pwd'@remote_host/DB upgrade head 

が、上記で失敗します:私は実行している

コマンドがある oslo_db.exception.DBError :(IMOD2)[IM002] [unixODBC] [ドライバマネージャ]データソース名が見つかりません。デフォルトドライバが指定されていません(0)(SQLDriverConnect) ')

subuni2sqlタグはここにポイントがありません)

答えて

1

私のテストを共有しています。それが役に立てば幸い。

はGitHubの上のプロジェクトsubunit2sqlrequirements.txtによると、このツールは、PythonパッケージSQLAlchemyを必要なので、私はAzureのSQLデータベース接続を使用して、データベース接続を設定するpymssqlドライバ経由でMicrosoft SQL ServerデータベースのためのSQLAlchemyのdocumentサポートを参照してください。文字列、下記をご覧ください。

subunit2sql-db-manage --database-connection mssql+pymssql://<username>@<hostname>:<password>@<hostname>.database.windows.net:1433/<database> upgrade head 

注:変数を見つけることができますusernamepassword、Azureのポータル上のSQLデータベースの接続文字列にhostname & database

SQLデータベースを正常に接続するには、上記のコマンドを実行する前に以下の手順を実行する必要があります。

参考までに、私の環境はUbuntu 14.04 LTSです。

  1. Python用に必要なパッケージをインストールするには、Configure development environment for Python development文書を参照してください。
  2. /etc/odbcinst.iniファイルを以下のように設定します。クライアントのIPアドレスを追加するには、ファイアウォールの設定を構成する

    [FreeTDS] 
    Driver=/usr/local/lib/libtdsodbc.so 
    Setup=/usr/local/lib/libtdsodbc.so 
    Server={hostname}.database.windows.net 
    UsageCount=1 
    Port=1433 
    Database={database} 
    User={username}@{hostname} 
    Password={password} 
    TDS_Version=7.2 
    client_charset=utf-8 
    
  3. https://azure.microsoft.com/en-us/documentation/articles/sql-database-configure-firewall-settings/を参照してください。

私は下記のエラー情報を得ましたが、SQLデータベースに正常に接続されました。

oslo_db.exception.DBError: (pymssql.ProgrammingError) (102, "Incorrect syntax near ' '.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) SELECT tm.id, tm.key, tm.value, tm.test_id, tn.new_id FROM test_metadata tm INNER JOIN tests_new tn ON tn.id = tm.test_id']

+0

ありがとうたくさんのピーター! mssql + pymssql接続タイプを使用してDBに接続することができましたが、記述したのと同じエラーが発生します。私はこれを最新のstable subunit2sqlとdev buildで確認しました。そういうわけで私は彼らに何を言わなければならないかを知るために問題を提起しました。 – user3144292

+0

@ user3144292あなたの共有をありがとう! –

関連する問題