問題タブ [django-pyodbc]

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.

0 投票する
1 に答える
657 参照

django - カスタム Django バイナリ フィールド & SQL Server 2008

私は小さなテーブルを持っています:

SQL クエリを使用してレコードを挿入できます。

このテーブルの Django モデルは次のとおりです。

GUIDField は、カスタム フィールドを作成する私の試みです。

ORM インスタンスからデータベースに 16 バイトのバイナリ データを渡す必要があります。ほとんどの場合、引用符で囲まれていない文字列の後に SQL Server 側で0xを取得する必要があります...しかし、どのように?

私は unixodbc、pyodbc、django-odbc を使用しています。

0 投票する
1 に答える
1592 参照

python - Django pyodbc ストアド プロシージャ エラー - 文字列のフォーマット中にすべての引数が変換されるわけではありません

次のように、pyodbc を介して SQL Server 2008 でストアド プロシージャを呼び出す django 関数があります。

関数が呼び出されるたびに、「error_message」が表示されます:「文字列のフォーマット中に変換されたすべての引数ではありません」

0 投票する
1 に答える
9586 参照

django - django-mssqlを使用してSQLServer2008 R2に接続するにはどうすればよいですか?

djangoをSQLServer2008r2に接続できない理由がわかりません。サーバーとSQLサーバーの管理者権限があります。django-mssqlで運が良かったのではないかと思ったので、Windows Server2008sp2を使用して仮想Windowsボックスを構築しました。Windowsボックスでdjango-pyodbcとdjango-mssqlの両方を試しましたが、まだ成功していません。これが私のdb設定です:

私が得るエラー:

洞察をいただければ幸いです。ありがとう。

0 投票する
1 に答える
3020 参照

sql-server - Django-WindowsでのpydobcSQLサーバー接続の問題

別の開発者と私は、別のサーバーでレガシーSQLサーバーデータベース(SQLEXPRESS)を使用してdjango(v1.4.2)プロジェクトをセットアップしています。これまでのところ、django-pyodbcを使用してLinuxとMacから、およびdjango-mssqlを使用してWindows7を実行しているラップトップからデータベースに接続することができました。ラップトップでdjango-pyodbcを使用して、環境の同期を維持したいと思います。

ラップトップの場合:

  • pyodbc(3.0.6)がインストールされており、非django.pyスクリプトでSQLステートメントを接続して実行できます
  • zipをダウンロードしてdjango-pyodbc1.4をダウンロードしました。正しくインストールしたかどうかわかりません:
    • ファイルを解凍し、トップディレクトリでsetup.pyファイルを実行しました。sql_serverディレクトリを/lib/site-packagesディレクトリに配置します
  • このsql_serverディレクトリを/django/ db/backendsにコピーしました
  • / django / db / backends/sql_serverを指すPYTHONPATH環境変数を作成しました
    • 代わりに/site-packages/ sql_serverを指すことになっているのかわかりませんか?
  • ODBCデータソース(システムDSN)を作成しました
    • 接続オプションのテストは機能します
  • settings.pyのDATABASEエントリを、Linuxバージョンとほぼ同じになるように編集しました(詳細は以下を参照)。

そのため、機能せず、次のエラーメッセージが表示され、次に何をすべきかわかりません。

djangosettings.pyファイルを次のように設定します。

Linuxでは、設定ファイルに次のようなDATABASESエントリがあります。

これを解決するのに役立つかどうかはわかりませんが、django-mssql(Windowsでのみ実行されます)を使用すると、(動作する)エントリは次のようになります。

他にどのような情報が役立つかわからない。あなたが提供できるどんな助けや洞察にも感謝します。

----剖検----最終的に機能したものは次のとおりです。

データベースの設定の部分的なエントリ:

0 投票する
0 に答える
722 参照

sql-server - pyodbcを使用してDjangoで19455文字を超える長さのテキストフィールドを持つレコードをロードできません

私は次のような Note モデルを持っています (これは従来の MS SQL Server データベースから取得しているため、これらのレコードのほとんどは Django によって作成されたものではありません)。

一部のレコードに対して a を実行すると、データベースに存在するにもかかわらず、.geta が返されていました。DoesNotExist

これは、MS SQL Server TEXT(のようにCREATE TABLE Foo ( content TEXT null)) フィールドのコンテンツの長さが一定量を超えた場合に発生します。具体的には 19455 文字です。

動作中の様子は次のとおりです。

私は FreeTDS を使用しており、テキスト サイズを 2147483647 に設定していますこれは、使用している MS SQL Server のバージョンの上限のようです。

this other question on truncationSET TEXTSIZE nによると、 n がバイト単位の値である命令を先頭に追加する必要があります。これにより、データが切り捨てられる問題が解決されます。それで、それが私の場合に起こっているかどうか、そしてそれが修正されるかどうか疑問に思いました.

そこで、カーソルとSET TEXTSIZEコマンドだけを使用するコードを書きました。

まず、レコードに記載すべき内容を見てみましょう。

print "長さ: %d; 最後の 40 文字: %s" % (len(note.content), note.content[-40:]) 長さ: 19456; 最後の 40 文字: rVEF1cCJeRaTtcdkXMqqQUxEVLZapMGVGSxMfJ2T

そして、ループスルーします。TEXTSIZE 設定をインクリメントするたびに、必要に応じてレコードを表示します。また、返されたレコード フィールドの長さと最後の 10 文字も表示します。

そのため、TEXTSIZE が 19456 より大きい数値に設定されたレコードを取得しようとすると、レコードは返されません。そして、文字列の最後の 10 文字が、上記の文字列から短すぎて欠落した文字を引いたものに一致することに気付くでしょう。たとえば、最後に見つかったレコードの場合、最後の 10 文字はMGVGSxMfJ2. T19455 の TEXTSIZE が問題のフィールドの長さより 1 小さいため、実際のレコードから が欠落しています。

だから今、もちろん私は疑問に思っています、何が起こっているのですか?これが django-pyodbc、pyodbc、または FreeTDS の問題であるかどうかを判断するために、他にできるトラブルシューティングはありますか? SQL Server の可能性もありますがSET TEXTSIZE 19456 SELECT [Notes].[note_id], [Notes].[note_content] FROM [Notes] WHERE [Notes].[note_id] = 1、Server Management Studio で直接実行すると正しく動作し、正しい文字数が返されるようです。

また、保存が機能することにも注意してください。

0 投票する
1 に答える
679 参照

python - pyodbc を使用してリモート MS アクセスを接続するにはどうすればよいですか

Freetds 経由で pyodbc を使用して MS SQL サーバーに接続する前に、pyodbc を使用してリモートの MS Access DB に接続するにはどうすればよいですか。しかし、リモート アクセスに同じ freetds 構成を使用すると、「うまくいきません。

助言がありますか?

0 投票する
1 に答える
2816 参照

sql-server - Django で SQL Server バックエンドを使用する

django-pyodbc バージョンを使用して外部 SQL Server Express データベースに接続しようとしています:この github リンクmanage.py shellですが、 ORM コマンドを実行できるかどうかを確認するために実行すると、このエラーが発生し続けます

私のsettings.pyにはこれがあります:

私は自分が何をすべきかについて完全に途方に暮れているので、すべてのアイデアを歓迎します。基本的に私が望んでいるのは、SQL Server データベースとのインターフェイスとして作成した小さなアプリを使用できるようにすることですが、pyodbc 接続文字列の代わりに通常の DJango ORM コマンドを使用できるようにすることです (ところで、pyodbc を使用すると、問題のない SQL Server データベース)

0 投票する
1 に答える
608 参照

database - Netezza データベース (nzSQL) 用の Django の構成

私は Django をまったく初めて使用しますが (pyodbc は使用しません)、データベースの設定がどのように機能するかについて少し混乱しています。モデル ルートに移動し、次の odbc 構成を持つ Netezza データベースに接続するように settings.py を構成したいと思います。

odbc インスタンスは次のようになります。

これをsettings.pyファイルに入れる方法を理解することはできません。誰かがこれがどのように機能するか説明できますか?

PS 同様の質問がここで尋ねられました: unixodbc と netezza ODBC ドライバーの問題 (未定義のシンボル: SSL_connect)が、答えはどれも役に立ちませんでした。

0 投票する
1 に答える
1026 参照

django - syncdb - ValueError: アンパックする値が多すぎます

クローズの更新 - 私はそれを経験したと思いますが、それは私に代わって少し愚かでした.

python manage.py inspectdb > models.py

出力をファイルにパイプするのを忘れていました!

私はそれを自分の app/models.py にダンプしましたが、今はそこから実行しようとしていますが、さらに進んでいます。

SQL Server 2008 R2 サーバーに対して django を実行しようとしています。

私は FreeTDS/unixODBC 接続を理解しました。データベースに対して isql および tsql クエリを正常に実行できます。

私はPythonで直接接続することができました-

django シェルで inspectdb を実行しても問題ありません。70 以上のテーブルとそのレイアウトを完全に返します。

syndb を実行しようとすると、次のエラーが発生します -

同様に、djangoで次のようにクエリを実行しようとすると-

次のエラーメッセージで失敗します -

これらのエラーがここにある他のスレッドに関連しているとは確信していません -

ValueError: Django をアンパックするには値が多すぎます

しかし、私は専門家ではないので、間違っている可能性があります。パスワードを変更しようとしたことはわかっていますが、同様のエラーメッセージに接続できません-

編集して追加 - クエリを実行するとき、私のモデル定義は次のとおりです -

編集して、完全に再インストールしたことを追加します。VM を消去し、復活させました。実行した手順の内訳は次のとおりです

apt-get インストール gcc g++ make python-dev

unixODBC をダウンロード

tar xzvf unixODBC-2.3.2.tar.gz

。/構成、設定

作る

メイクインストール

FreeTDSをダウンロード

tar xzvf freetds-stable.tgz

./configure --with-tdsver=8.0 --with-unixodbc=usr/local

作る

インストールする

ldconfig -v

odbc.ini

odbcinst.ini

freetds.conf

tsql -S mssql -U ユーザー -P パスワードは動作します

isql -v mssql ユーザーパスワードは機能します (何らかの理由で単純な isql -v mssql は機能しません)

apt-get インストール python-setuptools

easy_install ピップ

pip インストール pyodbc

pip install Django==1.6

pip install django-pyodbc-azure

設定.py