問題タブ [django-pyodbc-azure]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - django-pyodbc-azure DatabaseError: ('42000', '[42000] データ型 nvarchar を int に変換中にエラーが発生しました
バックエンド初心者です。Windows マシンで Web サービスをテストしようとしています。
Linuxサーバーには、次のデータベース設定を備えた作業マシンがあります。
何かをgitにコミットする前に、Windows PCでWebサービスをローカルで実行したいと考えています。これを行うには、ここで提供されている django-pyodbc-azure 1.0.10 を使用しています。
https://github.com/michiya/django-pyodbc-azure/tree/dd87bd3379475ff596210a9243c04c01add0be4d
ローカルの Windows PC で
それに応じて設定を変更しましたが、次のエラーが発生します。
データベースに接続すると思いますが、変換エラーが発生します。
郵便配達員を使用してサービスを投稿しています
500 INTERNAL SERVER ERROR が発生します。しかし、このサービスは Linux サーバー上で正常に動作しています。
sql - pyodbc を使用した Azure SQL への syncdb Django アプリでのエラー
Azure で Django アプリを実行しようとしています。いくつかの静的ページでアプリを起動して実行しましたが、データベースを正しく動作させることができません。Django が Azure SQL データベースと通信できるようにpyodbcをダウンロードし、ローカル マシンと Web サーバーの両方に配置しました。また、デフォルトの 1.4 ではなく Django-1.6 を使用するように Azure Web サイトをアップグレードしましたが、まだ Python 2.7 を使用しています。
自分の IP アドレスからのアクセスを許可する Azure ファイルウォール ルールを既に設定しています
settings.py で、次のように DATABASES セクションを設定しました。
ローカル マシンから syncdb を実行しようとすると、次のエラーが発生します。
私は settings.py を少し再構築しようとしましたが、それでも同じエラーが発生します。Azure Portal に表示されているように、HOST 名の後に PORT 番号を付けてみました。また、USER で完全な HOST 名を使用してみました。
django - Sql サーバーで Django を使用する方法
私は通常、Django でのデータベースのニーズに Postgres を使用していますが、最近、Windows 環境で MSSQL を使用する会社に入社しました。簡単に言えば、settings.py でデータベースのプロパティを書き直す必要がありました。残念ながら、Pyodbc を使用して SQL Server に接続する方法がわからず、Python 3.x を実行しているため、Django-Pyodbc を使用できません。実行しようとすると、「データソース名が見つからず、デフォルトのドライバーが指定されていません (0) (SQLDriverConnect)')」というメッセージが表示されます。
これが私の現在のdb構成です。私はおそらく何か間違ったことをしていますが、ほとんどの Django+Sql Server の結果は FreeTDS または Django-Pyodbc (どちらもオプションではない) を使用しているため、リソースを見つけるのは非常に困難です。
python - djangoアプリケーションをAzureに公開するとサーバーエラーが発生する
MSSQL サーバーを使用して、django アプリを Azure に公開しようとしています。pyodbc で django-azure-pyodbc を使用して接続していますが、ローカルで動作している間、mssql で公開するたびに、公開は成功しますが、内部サーバー エラーが発生します。あらかじめパッケージ化されている sqllite3 サーバーで公開すると、機能します。Python 3.4、Django 1.8.4、pyodbc 3.0.10、および django-pyodbc-azure 1.8.3.0 で仮想環境を使用しています。私のsettings.pyファイルは次のとおりです。
それが問題であることを期待して、webapp の発信 IP アドレスをサーバーに追加しましたが、そうではありませんでした。診断ログを確認したところ、500 エラーよりも詳しい説明が見つかりましたが、よくわかりません。
WSGI ハンドラーの読み取り中に Data2 エラーが発生しました: トレースバック (最新の呼び出しが最後): ファイル "D:\home\site\wwwroot\env\lib\site-packages\sql_server\pyodbc\base.py"、行 14、インポート pyodbc 内as Database ImportError: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません。上記の例外の処理中に、別の例外が発生しました: Traceback (最新の呼び出しが最後): File "D:\Python34\Scripts\wfastcgi.py", line 711, in main env, handler = read_wsgi_handler(response.physical_path) File " D:\Python34\Scripts\wfastcgi.py"、568 行目、read_wsgi_handler return env、get_wsgi_handler(handler_name) ファイル "D:\Python34\Scripts\wfastcgi.py"、541 行目、get_wsgi_handler handler = handler() ファイル " .\ptvs_virtualenv_proxy.py"、120 行目、get_venv_handler ハンドラー = get_wsgi_handler(os.new new_class.add_to_class('_meta', Options(meta, **kwargs)) ファイル「D:\home\site\wwwroot\env\lib\site-packages\django\db\models\base.py」、324行目、 add_to_class value.contribute_to_class(cls, name) ファイル "D:\home\site\wwwroot\env\lib\site-packages\django\db\models\options.py" の 250 行目、contribute_to_class の self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) ファイル "D:\home\site\wwwroot\env\lib\site-packages\django\db__init__.py"、36 行目、getattr で getattr ( connections[ DEFAULT_DB_ALIAS], item) ファイル "D:\home\site\wwwroot\env\lib\site-packages\django\db\utils.py"、240 行目、getitem内backend = load_backend(db['ENGINE']) ファイル "D:\home\site\wwwroot\env\lib\site-packages\django\db\utils.py"、111 行目、load_backend で import_module('%s .base' % backend_name) File "D:\Python34\lib\importlib__init__.py", line 109, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 2254, in _gcd_import File ""、2237 行目、_find_and_load ファイル内 ""、2226 行目、_find_and_load_unlocked ファイル内 ""、1200 行目、_load_unlocked ファイル内 ""、1129 行目、_exec ファイル内 ""、1471 行目、exec_module ファイル内 ""、321 行目、_call_with_frames_removed ファイル「D:\home\site\wwwroot\env\lib\site-packages\sql_server\pyodbc\base.py」の 16 行目、raise ImproperlyConfigured("pyodbc モジュールの読み込みエラー: %s" % e) django.core.exceptions.ImproperlyConfigured: pyodbc モジュールの読み込みエラー: DLL の読み込みに失敗しました: %1 は有効な Win32 アプリケーションではありません。StdOut: StdErr:
python - 以前に動作していた構成での django-pyodbc-azure ロールバック エラー - 行 389
Linux でしばらくの間、django-pyodbc-azure を pydobc、FreeTDS、および unixODBC とともに使用して、Django を SQL Server 2014 に接続しました。正常に動作していたアプリケーションでこの問題に遭遇し、デバッグで問題が発生しました。それ。問題を再現するために、新しい Django アプリを開始して物事をシンプルに保ちました。これが私の仮想環境です:
SQL Server に接続するためのデータベース構成は次のとおりです。
そして、単純な models.py を作成しました:
このセットアップは、かなり複雑な Django プロジェクトで正常に機能しており、この同じデータベースに対して引き続き SELECT を実行できます。ただし、UPDATE または移行を実行しようとすると、次のエラーが発生します。
奇妙な部分は、SQL Server ([home_testtemp]) でテーブルを正常に作成し、不要なロールバックでエラーが発生しているように見えることです。これをさらにデバッグするか、問題を修正するための最良の方法についてのアイデアはありますか? ./manage.py sqlmigrate home
このユーザー名とパスワードでログインしたデータベースに対して直接SQL 出力を実行すると、正常に動作します。
前もって感謝します。
更新 1: これは良い修正ではありませんが、ロールバックが呼び出されるべきではないときに呼び出されるという問題と思われるものを回避します。この変更は、django-pyodbc-azure の base.py の 389 行目付近で行われます。
これは見苦しく、セーフガードを取り除きますが、その間は機能します。django-pyodbc-azure の 389 行目付近の base.py を変更します。
明らかに、ハッキングや根本原因ではなく、実際の修正を探しています。
更新 2: 上記の更新 1 で行った変更を元の django-pyodbc に戻します。次に、設定で tds_version を7.0
またはに変更します7.1
。できます。7.2
またはに変更する7.3
と壊れます。これは、SQL Server 2008 以降で利用できる新しい DATE フィールドの問題でしょうか? いずれにせよ、一時的な解決策は TDS バージョン 7.1 に戻すことであり、これは明らかに修正に役立つ情報です。
python - django-pyodbc-azure を使用して MSSQL に接続しようとすると、ファイルが見つからないというエラーが発生する
私の質問は多かれ少なかれLinux で実行されている django から SQL Server にクエリを実行しようとしています - Can't open lib '/path/to/libtdsodbc.so' の複製だと思いますが、そこの答えはまったく役に立ちません。
私は次のものを使用しています:
- Ubuntu 15.04
Python3
Django 1.9
(pip3経由でインストール)freetds-dev 0.91-6build1
apt-get でインストールdjango-pyodbc-azure
/django-pyodbc
pip3 経由でインストール- MSSQL 2012
接続しようとするとpython3 manage.py inspectdb
、次のスタック トレースが表示されます。
base.py を編集して、使用している接続文字列を出力しました。これは次のとおりです。
データベースの settings.py は次のようになります。
私の仮定ではDRIVER
、接続 str の部分は odbc ドライバーの実行可能ファイルへの完全修飾パスである必要があり、現在はファイルとして存在しない「FreeTDS」に設定されています。私の質問は次のとおりです。
- 私の仮定が正しい場合、ドライバーの値を変更するにはどうすればよいですか?
- 私の仮定が間違っている場合、実際に間違っているのは何ですか?どうすればこれを解決できますか?
sql-server - Django + sql サーバー - sql_server.pyodbc.base という名前のモジュールはありません
SQL Server
のバックエンドとして使いたいDjango
。
pyodbc、django-pyodbc、django-pyodbc-azure をインストールします
データベースをsettings.py
置き換える
python manage.py
syncdb エラーを実行した場合:
Visual Studio + Python 2.7 を使用しています
django - django-pyodbc-azure - スキーマの使用方法
私は django-pyodbc-azure ( https://github.com/michiya/django-pyodbc-azure ) を使用していますが、すべて正常に動作しています。ただし、モデルを移行すると、'dbo' という新しいスキーマが SQL Server データベースに作成されます。既存の 'sp' スキーマを使用したいのですが、作業スキーマを設定する方法はありますか?
前もって感謝します。