問題タブ [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.
python - pyodbc の日付フィールドに null 値をバインドする
pyodbc を使用して、日付フィールドでこのコードを実行しようとすると:
...pyodbc.Error: ('HY000', '[HY000] [SAS][SAS ODBC Driver][SAS Server]ERROR: Value 1 of VALUES clause 1 does not match the data type of the corresponding column in (-1) (SQLExecDirectW)')
これを実行すると、次のようになります。
... できます。これを実行する別の方法はありますか?つまり、渡した引数をチェックする必要はありませんか?
python - Linux に pyodbc をインストールできない
Linux (2.6.18-164.15.1.el5.centos.plus) を実行していて、pyodbc をインストールしようとしています。私は pip install pyodbc を実行していて、エラーの非常に長いリストを取得しています。
エラー: コマンド 'gcc' が終了ステータス 1 で失敗しました
/root/.pip/pip.logを調べた ところ、次のことがわかりました。
InstallationError: Command /usr/local/bin/python -c "import setuptools; file ='/home/build/pyodbc/setup.py'; execfile('/home/build/pyodbc/setup.py')" install - -single-version-externally-managed --record /tmp/pip-7MS9Vu-record/install-record.txt がエラー コード 1 で失敗しました
pyodbc のインストールで同様の問題が発生した人はいますか?
sqlalchemy - IronPython 2.6.1 で SQL Alchemy と pyodbc を使用する
IronPython と clr モジュールを使用して、SMO 経由で SQL Server 情報を取得しています。SQL Alchemy を使用して SQL Server データベースにこのデータを取得/保存したいのですが、pyodbc モジュールの読み込みに問題があります。
セットアップは次のとおりです。
- IronPython 2.6.1 (D:\Program Files\IronPython にインストール)
- CPython 2.6.5 (D:\Python26 にインストール)
- SQL Alchemy 0.6.1 (D:\Python26\Lib\site-packages\sqlalchemy にインストール)
- pyodbc 2.1.7 (D:\Python26\Lib\site-packages にインストール)
CPython 標準およびサードパーティ ライブラリをインポートするために、IronPython の site.py に次のエントリがあります。
SQL Alchemy は IronPython で OK をインポートします。SQL Server に接続しようとすると、次のエラー メッセージが表示されます。
このコードは CPython では問題なく動作しますが、IronPython から pyodbc モジュールにアクセスできないようです。
助言がありますか?これが問題に取り組む最良の方法ではない可能性があることを認識しているため、別の方法でこれに取り組むことにオープンです. SQL Alchemy と pyodbc の使用経験が欲しかっただけです。
python - mssqlを使用した0.6移行でのsqlalchemy日付タイプ
Linux ubuntu 10.04で、pyodbc、FreeTDS odbcドライバー、mssqlサーバーに接続しています。
Sqlalchemy0.5はフィールドに使用DATETIME
しsqlalchemy.Date()
ます。
現在、Sqlalchemy 0.6はを使用DATE
していますが、SQLServer2000にはタイプがありませんDATE
。sqlalchemy 0.6方言DATETIME
のデフォルトにするにはどうすればよいですか?sqlalchemy.Date()
mssql+pyodbc
できるだけきれいに保ちたいです。
問題を再現するためのコードは次のとおりです。
そして、これが私が得ているトレースバックです:
python - pyODBCとUnicode
pyODBCを使用してMSSQL2005Expressサーバーと通信しています。データを保存しようとしているテーブルは、nvarchar列で構成されています。
変数name、birthrday、およびgendeはExcelファイルから読み取られ、Unicode文字列です。クエリを実行し、SQL Server Management Studioでテーブルを確認するか、挿入されたばかりのデータをフェッチするクエリを実行すると、英語以外の言語で書き込まれたすべてのデータが疑問符に変わります。英語で書かれたデータは保存され、正しい方法で表に表示されます。CHARSET=UTF16
接続文字列に追加しようとしましたが、うまくいきませんでした。これは正常に機能するものを使用できますUTF-8
が、動作規則として、DBに保存されているすべてのデータがである必要がありますUTF16
。
ありがとう!
python - SQLサーバー関数のネイティブパラメータバインドエラー
データベースに接続するために、Ubuntu 10.04 Lucid LTS で次のソフトウェア スタックを使用しています。
- python 2.6.5 (ubuntu パッケージ)
- pyodbc git トランク コミット
eb545758079a743b2e809e2e219c8848bc6256b2
- unixodbc 2.2.11 (ubuntu パッケージ)
- freetds 0.82 (ubuntu パッケージ)
- Windows と Microsoft SQL Server 2000 (8.0)
SQL SERVER 関数への引数でネイティブ パラメーター バインドを実行しようとすると、次のエラーが発生します。
再現コードは次のとおりです。
これで関数が作成されました。クエリで値を直接使用して呼び出そうとすると (値のネイティブ バインドはありません)、正常に動作します。
ただし、ネイティブ バインドを実行しようとすると、上記のエラーが発生します (パラメーター プレースホルダーを使用して値を個別に渡すことにより)。
さらなる調査により、私が関連付けたいいくつかの奇妙なことが明らかになりました。
- TDS バージョンを 4.2 に変更すると、すべて正常に動作します (ただし、SQL Server からのバージョン レポートは間違っています。実際のバージョンではなく、
4.2
取得した TDS バージョンを 使用します)。'95.08.0255'
'08.00.0760'
- 他の 2 種類の関数については、すべて正常に動作します。値を返す関数と、単なる SELECT クエリ (ビューなど) の関数の両方が正常に動作します。他の (壊れた) 関数に対するクエリの結果を返す新しい関数を定義することもできます。これにより、パラメータに対してネイティブ バインドを実行する場合でも、すべてが機能します。例えば:
CREATE FUNCTION fn_tempFunc(@testparam varchar(4)) RETURNS TABLE AS RETURN (SELECT * FROM fn_FuncTest(@testparam))
- このエラーの後、接続が非常に不安定になり、回復できなくなります。
- 任意のタイプのデータをバインドしようとすると、エラーが発生します。
どうすればこれをさらに追求できますか?関数パラメーターへのネイティブ バインドを行いたいと思います。
python - SQL Server 2005 でデータベースを操作する - Django
私は次のことを達成しようとしています:
db スキーマを取得する
制約をつかむ*
テーブルの変更
テーブルの追加/削除
現在、Django のpyodbcバックエンドを使用しています。
ビューファイル内でこれらすべてのタスクを実行したいと思います。
「core_」で始まるテーブルのフィールドを取得するために、次を使用しています。
*Madhivanan Linkのおかげで修正されました
始めるためのアイデアはありますか?
python - pyodbcをインポートすると、Win7でエラーコード193でDLLの読み込みに失敗します
64ビットのWindows7とActiveStatePython2.5のインストール(64ビットバージョン)を実行しています。pyodbc2.1.7win32パッケージをダウンロードしてインストールしました。管理者としてインストーラーを実行すると、問題なく続行します。Pythonを実行して試してみると
次のエラーが表示されます。
ImportError:DLLのロードが エラーコード193で失敗しました
64ビットバージョンのActiveStatePythonがインストールされていることと関係があると思います。それを削除して、32ビットのActiveState Pythonインストールに置き換える必要がありますか?より多くのPythonパッケージが64ビットをサポートするまで、それは物事を行うための好ましい方法でしょうか?
database - pyodbcをAccess(.mdb)データベースファイルに接続する方法
これが私が試したことです:
-検索でVistaのODBCデータソースマネージャー*を検索します。
-新しいファイルデータソース*を追加し、Microsoft Access用ドライバー(* .mdb)を選択し、目的のmdbファイルを選択します。
-Pythonシェルからpyodbcをインポートして、次のことを試してください。
次のエラーメッセージが表示されます(ポルトガル語**)。
これは、「データソース名が見つからず、標準ドライバが指定されていない」と解釈されます。
私は何が間違っているのですか?それを正しくする方法は?また、ドキュメントをWebで検索しましたが、価値のあるものは何も見つかりませんでした。誰かがドキュメントを推奨できますか?
*私のWindowsはポルトガル語であるため、名前が完全に正確でない場合があります。
**いいえ、ポルトガル語には文字として「3」と「\」がありません。これらは誤って印刷された特殊文字です
python - FreeTDSは、MSSQLのマネータイプをDecimalではなくpythonfloatに変換します
LinuxのPythonからMSSQLServerデータベースに接続しています。FreeTDSドライバーを使用してpyodbc経由で接続しています。MSSQLからmoneyフィールドを返すと、Python Decimalではなく、floatとして表示されます。
問題はFreeTDSにあります。Windowsからまったく同じPythonコードを実行すると(FreeTDSを使用する必要がない場合)、pyodbcはPythonDecimalを返します。
Linuxでコードを実行しているときにPythonDecimalを取り戻すにはどうすればよいですか?