問題タブ [python-db-api]
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.
sqlalchemy - IronPython db-api 2.0
Does anyone know which if any db-api 2.0 drivers work with IronPython? If so, has anyone tried using it with SQLAlchemy, SQLObject or the Django ORM?
python - 私が持っているのが`Connection`オブジェクトだけの場合、どうすれば適切な` paramstyle`を決定できますか?
(DB API 2.0準拠に必要)のインスタンスがありますが、Connection
インポート元のモジュールがありません。問題は、名前付きパラメーターを使用しようとしているのに、どちらを使用すればよいかわからないことparamstyle
です。
はモジュールレベルの定数なのでparamstyle
、質問することはできませんConnection
。インスタンスで使用inspect.getmodule()
してみましたが、返されました。私がちょうど行方不明になっているより簡単な方法はありますか、またはどちらを使用するかを決定するためにいくつかの/コードを実行する必要がありますか?Connection
None
try
except
paramstyle
python - sqlite3 と cursor.description
Python で sqlite3 モジュールを使用する場合、列名を除く cursor.description のすべての要素が None に設定されるため、このタプルを使用してクエリ結果の列タイプを見つけることはできません (他の DB-API 準拠モジュールとは異なります)。pragma table_info(table_name).fetchall()
テーブルの説明を取得し、それをメモリに格納し、その列名を cursor.description からテーブル全体の説明に一致させるために使用する列の型を取得する唯一の方法はありますか?
python - MySQLドライバーにINFORMATION_SCHEMAの問題がありますか?
StacklessPythonのConcurrenceフレームワークを試しています。これにはMySQLドライバーが含まれており、以前はMySQLdbで正常に実行されていたコードを実行すると、失敗します。
私がしていること:
ユーザー名/パスワード/ポート/データベースでdbapiを使用してMySQLデータベースに接続します。
実行中
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
これは次のメッセージで失敗します:
「mydatabase」は、手順1で指定したデータベースです。
「USEmydatabase」を発行した後にMySQLコンソールで同じクエリを実行すると、完全に機能します。
ネットワーク通信をチェックすると、次のようになります。
これはドライバーの問題ですか(MySQLdbで機能するため)?または、この方法でINFORMATION_SCHEMAを照会できないようにする必要がありますか?
クエリを実行する前に特定の「USEINFORMATION_SCHEMA」を送信すると、期待どおりの結果が得られます。ただし、コード全体に「USE」クエリを振りかける必要はありません。
python - タイムスタンプ (datetimes) の配列に psycopg2 パラメータを指定する方法
type の列でフィルタリングする psycopg2 を使用して、Python で PostgreSQL クエリを実行したいと思いますtimestamp without timezone
。(範囲ではなく) タイムスタンプに許可される値の長いリストがあり、psycopg2 は便利に配列を処理するので、これはうまくいくはずだと思いました:
times
パラメータはdatetime
オブジェクトのリストです。私も試しpsycopg2.Timestamp()
ました。どちらも変換されWHERE thetimestamp = ANY (ARRAY['2009-07-06T00:00:00', '2009-07-07T00:00:00', ...])
、残念ながら次のエラーで失敗します。
これはpgAdminでも確認済みですので、psycopg2だけではありません。起こっているように見えるのは、Postgres が文字列の配列をタイムスタンプの配列に暗黙的に変換しないということです。pgAdminの各要素に明示的に追加すると、単一の文字列が正常に変換され、配列::timestamp
が正常に機能しますが、psycopg2でそれを行う方法がわかりません。
DB-API パラメータを忘れて、タイムスタンプの長い文字列を手動で作成する以外に、これを行う最善の方法は何ですか? 正しい型にキャストする方法はありますか?
python - pyscopg2 でクエリの実行をキャンセルする
pyscopg2 (python Postgres ドライバー) を使用してクエリステートメントの実行をキャンセルするにはどうすればよいでしょうか?
例として、次のコードがあるとします。
次に、別のスレッドからその長時間実行されているクエリの実行をキャンセルしたい - これを行うには、接続/カーソルオブジェクトでどのメソッドを呼び出す必要がありますか?
python - Python db-api を使用して SQL LIKE ステートメントを安全に生成する方法
Python の db-api を使用して、次の SQL ステートメントを組み立てようとしています。
ここで、BEGINNING_OF_STRING は、DB-API を介して安全に入力される Python 変数である必要があります。私は試した
私はアイデアがありません。これを行う正しい方法は何ですか?
python - psycopg2を使用してPostgresのSQL「LIKE」値をエスケープします
psycopg2には、PostgresのLIKEオペランドの値をエスケープする機能がありますか?
たとえば、「20%of all」という文字列で始まる文字列を照合したい場合は、次のように記述します。
ここにプラグインできる既存のescape_sql_like関数はありますか?
(文字列値を明示的に引用する方法(Python DB API / Psycopg2)と同様の質問ですが、答えが見つかりませんでした。)
python - 接続のPython DBAPIタイムアウト?
接続の失敗をテストしようとしましたが、残念ながら、ホストの IP アドレスがファイアウォールで保護されていても失敗しません。
これはコードです:
既知のサーバーに接続しようとして間違ったユーザー名を指定すると、例外がトリガーされて失敗します。
ただし、応答しない(ファイアウォールで保護された)マシンに接続しようとすると、決して通過しませんself.conn = pgdb.connect()
ユーザーが IP アドレスを間違って入力したときにアプリがハングしたように見えるのではなく、タイムアウトを待つかテストするにはどうすればよいですか?