問題タブ [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 投票する
3 に答える
2745 参照

python - pyodbcにはスカラー実行関数がありますか

pyodbcにはexecuteスカラー関数がありますか?

.netのSQLライブラリのexecutecalarのようなものですか?

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

unicode - FreeTDSとunixODBCでのPyodbc utf-8 bind paramエラー

FreeTDS バージョン 0.82

unixODBC バージョン 2.3.0

pyodbc バージョン 2.1.8

freetds.conf:

odbc.ini で Servername を使用する (何らかの理由で、unixODBC が freetds のクライアント文字セットを認識するのに違いが生じた)

utf8 データを正しく取得でき、文字列をインラインで更新できます。

しかし

次の場合に失敗します。

私が追加した場合:

次のエラーが表示されます。

pyodbc.ProgrammingError: ('42000', '[42000] [FreeTDS][SQL Server]着信表形式データ ストリーム (TDS) プロトコル ストリームが正しくありません。ストリームが予期せず終了しました。(4002) (SQLExecDirectW)')

物事がどこで道に迷ったのかについて何か考えはありますか?

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

python - pyodbc を使用して MS Access 2007 (.accdb) データベースに接続する

Python 2.7.1 x64 を使用して Win7 x64 を使用しています。教育目的で、VC++ で作成したアプリケーションを Python に移植しています。
元のアプリケーションは、次の接続文字列を使用して MS Access 2007 形式の DB ファイルに問題なく接続できます:
OleDbConnection^ conn = gcnew OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|DB.accdb");
今度は、pyodbc を使用して Python で同じ DB ファイル (今回は C:\ に配置) に接続しようとすると、次のようになります。接続文字列: 、およびOLEDBプロバイダーを保持するか、ここで説明したよう
conn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\DB.accdb;")
に使用するかに関係なく( MSは64ビットでは利用できないと述べています)、次のエラーが発生し続けます: Provider=MSDASQL;

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')

この問題の原因は何ですか?

追加: pyodbc のドキュメントを詳しく調べて試してみましconn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=c:\\DB.accdb;")たが、同じエラーです。pyodbc.dataSources() は私がこのプロバイダーを持っていることを示しているので、これは本当に奇妙です。

ADD2: OLE DB を使用して接続するために、ここのような win32com.client の使用を試みましたが、成功しませんでした。それは不可能のようです、何も機能しません。

0 投票する
4 に答える
6852 参照

python - python - pyodbcでデータベースに接続する - 動作しない

次の接続文字列を使用して Access 2007 データベースに接続しようとしています。

次のエラーが表示されます。

トレースバック (最新の呼び出しが最後):
ファイル ""、1 行目、conn = pyodbc.connect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=;")

エラー: ('HY000', "[HY000] [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key temporary (volatile) Ace DSN for process 0x167c Thread 0x1568 DBC 0x1c67a5c

ジェット'。(63) (SQLDriverConnectW); [HY000] [Microsoft][ODBC Microsoft Access Driver]一般エラーレジストリ キーを開けませんプロセス 0x167c の一時 (揮発性) Ace DSN スレッド 0x1568 DBC 0x1c67a5c

ジェット'。(63); [HY000] [Microsoft][ODBC Microsoft Access Driver] 有効なファイル名ではありません。(-1044); [HY000] [Microsoft][ODBC Microsoft Access Driver]一般エラーレジストリ キーを開けませんプロセス 0x167c の一時 (揮発性) Ace DSN スレッド 0x1568 DBC 0x1c67a5c

ジェット'。(63); [HY000] [Microsoft][ODBC Microsoft Access Driver]一般エラーレジストリ キーを開けませんプロセス 0x167c の一時 (揮発性) Ace DSN スレッド 0x1568 DBC 0x1c67a5c

ジェット'。(63); [HY000] [Microsoft][ODBC Microsoft Access Driver] 有効なファイル名ではありません。(-1044)")

SO でこのような別の質問がありますが、私が持っていない 32/64 ビットの互換性の問題がありました。この質問に対する良い答えはないようですが、Python を使用して Access 2007 にデータをクエリまたは書き込む他の方法がわからないため、誰かがデータベースへの接続を手伝ってくれることを願っています。

ありがとう

0 投票する
2 に答える
671 参照

python - pyodbc を使用して ms アクセス データベースから最後の 5 分間のデータを選択するにはどうすればよいですか?

次のクエリがあります(Windows 7でアクセスdb .mdbにアクセスするpython pyodbc):

DateADD動作しないようです。次のエラーが表示されます。

n を一重引用符、二重引用符で囲み、引用符なしで試してみましたが、違いはありません。

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

python - PYODBC を使用した SQL Server 2005 へのアクセス

wxpython を使用して数値計算を行うアプリケーションを作成します。私の目的のために、SQL Server 2005 からデータにアクセスする必要があります。私は PYODBC を使用しています。サーバー管理者に問い合わせたところ、データベースのサーバー名と一意のデータ ID を教えてくれました。

PYODBC で一意のデータ ID を使用してデータベースにアクセスする構文が次のように表示されません。

データベースとテーブル名がある場合。server-name と Data_ID を使用してデータベースにアクセスするにはどうすればよいですか?

どこから始めたらいいのかわからない。

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

python - Python:pyodbcを使用し、行フィールド値を置き換えます

pyodbcを使用してMicrosoftAccess(.accdbまたは.mdb)データベースのレコード値を置き換えることが可能かどうかを調べようとしています。ドキュメントに目を通し、「行の値を置き換えることができる」と書かれているところに注意しましたが、それを機能させることができませんでした。

具体的には、Python変数の行の値を置き換えようとしています。私はもう試した:

  • 接続の自動コミットを「True」に設定する

  • データ型の問題ではないことを確認しました

これは、SQLクエリを実行しているコードのスニペットです。fetchone()を使用して1つのレコードのみを取得し(このスクリプトでは、クエリは1つのレコードのみを返すことがわかっています)、フィールドの既存の値を取得しています。 (フィールド位置の整数はz変数に格納されます)次に、スクリプトで作成された既存のPythonディクショナリからフィールドにアクセスして、フィールドに書き込みたい新しい値を取得しています。

私はビットがそれを動作させることができないと思うことができるすべてを試しました。ヘルプドキュメントを誤解しているだけですか?

スクリプトは正常に実行されますが、新しく割り当てられた値がコミットされていないようです。record [z]=val行の後に"printstr(record [z])thisを入れて、テーブルのフィールドに新しい値があり、新しい値が機能するように出力されるかどうかを確認しました...しかし、スクリプトが終了した後、テーブルをチェックインします。古い値はまだテーブルフィールドにあります。

これについての洞察に感謝します...これが、MS AccessデータベースでVBAを使用して、ADO Recordsetを使用してテーブル内のレコードをループし、変数からフィールドに値を割り当てる方法のように機能することを期待していました。

ありがとう、トム

0 投票する
2 に答える
4731 参照

python - テーブル名をpyodbcのパラメーターとして渡す

pyodbcms sql 2005 からデータにアクセスするためのパラメータとしてテーブル名を渡そうとして?います。これを達成する方法についてアドバイスをいただければ幸いです。

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

python - pyodbc と MySQLdb の違いは何ですか?

Python 2.6を使用してwin x64でpyodbcでコードを記述しましたが、問題はありません。同じコードを MySQLdb に切り替えると、エラーが発生します。

例。long オブジェクトは反復可能ではありません....

pyodbc と MySQLdb の違いは何ですか?

編集

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

python - PyODBC - カーソル レコード値の丸め

Microsoft Access (.mdb) データベースに接続してテーブルから値を読み取る Python スクリプト (Windows XP では Python バージョン 2.5.1) に取り組んでいます。対象のフィールドの精度が丸められるという 1 つのレコードで、予期しない結果が得られます。

対象の Access テーブル フィールドが Double データ型であることはわかっています。しかし、テーブルでこれを発見する原因となった値は 1107901035.43948 です。Python コードの値を読み取って出力すると、1107901035.44 と表示されます。

設定する必要があるpyODBC接続パラメータまたはその他はありますか? ドキュメントには何も見つかりませんでした

私のコードは次のようになります (目的は、関心のある分野で最大の価値を持つレコードを特定することで、不要なレコードを解決することです)。

ありがとう、トム