問題タブ [mysql-connector-python]

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 投票する
2 に答える
76 参照

python - クエリから返されたすべてを解凍しない方法は?

次のクエリがあります (通常の SELECT ではないことに注意してください)。

問題これは多くのフィールドを返しますが、最初の 2 つだけが必要です。完全なコードを参照してください。

a...jこれがエラーにならないようにするには、何もしないすべての変数を追加する必要があります。
これをよりきれいに書くにはどうすればよいですか?

Mysql/Oracle が提供するコネクタを使用しています

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

python - mysql.connector を使用して mysql db にデータを挿入します

「請求先アカウント」テーブルにデータを挿入しようとしていますが、以下の方法を試しました。データがテーブルに挿入されていないにもかかわらず、エラーはありませんでした。私はここで何か間違っていますか?この作業には python の mysql.connector モジュールを使用しています。

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

python - mysql-connector-python を使用してポート番号を指定する方法 (エラー 2003)

ローカルの Windows マシンから SSH 経由で MySQL サーバーに接続しようとしています。SSH 接続は正常に機能しますが、次の Python スクリプトを実行すると MySQL サーバーに接続できません。

出力は次のとおりです。

同様の質問がここここで尋ねられていますが、この問題は mysql-connector-python がポート番号の接続文字列を処理する方法に関係していると思います。Putty ターミナルを使用すると、それを機能させることができるからです。

ただし、たとえば mysql-connector-python と同じ方法でポート番号を指定すると、次のようになります。

エラー番号が異なる (2003 年と 2005 年) ことは認識していますが、関連していると思います。-h hostname -P portしたがって、実際の問題は次のとおりです。接続がではなくとして実行されるようにポート番号をフォーマットするにはどうすればよい-h hostname:portですか?

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

python - Python mysql.connector InternalError: カーソルを閉じると未読の結果が見つかりました

カーソルから結果の一部を読み取り、すべての結果を読み取らずに閉じたい。すべての結果を反復処理したり、バッファ オプションcursor.close()を使用したりせずにカーソルを閉じることは可能ですか?InternalError: Unread result found.

アップデート:

私のクエリは約 3000 レコードを取得します。いくつかの条件に適合する最初のいくつかのレコードを取得することを目指しています。結果の一部を反復処理した後、必要なものが得られます。次に、未読の結果を破棄したいだけです。私が知っているように、すべての結果をすぐに読み取るバッファオプションは使用しません。この質問はPython MySQL コネクタの重複ではありません - fetchone を使用すると未読の結果が見つかりました

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

python - MySQL ワークベンチが正常に動作する Python MySQL クエリがタイムアウトする

最近、ウェブサイトを新しいサーバーに移動しました。MySQL データベースのデータにアクセスする基本的な Python スクリプトがいくつかあります。古いサーバーでは問題はありませんでした。新しいサーバーで:

  • MySQLWorkbench は問題なく接続でき、すべてのクエリを実行できます
  • Python を使用した同じ (SELECT) クエリは 5% の時間で動作し、残りの 95% の時間はタイムアウトするか、クエリ中に接続が失われます。
  • たとえば、テーブルに 100000 行があり、MySQLWorkbench ですべてを選択しても問題なく動作します。3秒で戻ってきました。
  • pythonでは、LIMIT 2999のクエリは機能しますが、LIMIT 3010だけでタイムアウトする場合、同じクエリは機能しません。
  • スクリプトをローカルまたはリモートで実行したときに観察されたのと同じ効果

データベース、データベースサーバー、サーバー自体のいずれかに、python(ただしMySQLWorkbenchではない)が正しく機能するのを妨げる設定があるかどうかを調べるために、数日間掘り下げてきました。

興味深い場合のクエリとコード:

サーバーの詳細はわかりませんが、MySQLWorkbench が正常に動作するのに十分なパワーがあります。Python を動作させることができないようです。

****編集****

この問題が、python が処理するには多すぎるデータを返すクエリによって引き起こされたかどうかを確認するために、OFFSET と LIMIT を使用して、クエリごとに 10 行などの大きなクエリを分割してループすることを考えました。

予想: これは小さな断片で大きなクエリをすばやく処理します 発生: 以前にスタックした 3000 行よりも先に進みますが、いくつかの反復の後に壁にぶつかります。また、一貫してではありませんが、スクリプトを 10 回実行すると、n が毎回異なるポイントに到達します。

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

python - クラウドに Python 3.4 用の mysql-connector-python をインストールする

Ubuntu 14.04 を搭載したクラウド サーバーがあり、そこに mysql-connector-python をインストールするのに問題があります。

Windowsでは、インストーラー.msiを使用しましたが、正常に動作しますが、サーバーでは既に使用してみました

Ubuntu 14.04 用のhttps://dev.mysql.com/downloads/connector/python/pip3 installすべての可能なダウンロード

失敗..

何か案は?

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

python - LOAD DATA LOCAL INFILE 整数必須エラーについて

次の形式のデータを含むデータファイルがあります

auto incrementデータファイルのようにintidと残りの列を持つmysqlのテーブルがあります。

今、私は試しています

私が得るエラーは

class 'mysql.connector.errors.InterfaceError'> 操作の実行に失敗しました。整数が必要です

自動インクリメント ID が存在するため、SET ID=Noneいくつかの投稿で示唆されているように追加しようとしましたが、結果は同じでした.tmp.txt はスクリプトと同じ場所にあります.この応答は mysql サーバーによって送信されています.

それMYSQL Server is on amazonは違いを生むことです。

何がこれを引き起こしているのか、またはどのようにデバッグできるのか考えていますか?

深く掘り下げました。

エラーが発生するのは

そのため、関数は失敗します。これは、クエリが送信され_handle_resultsetたときにサーバーから返される応答と確実に関係があります。LOAD DATA

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

python - Python - 複数のオブジェクトから単一のデータベース ラッパー オブジェクトにアクセスする

MySQL データベースの周りに単純な Python ラッパーがあり、Python 内の他のカスタム クラス オブジェクト内からアクセスできるようにする必要があります。ラッパー クラスは、他の各カスタム クラスとは別のファイルにあります。これまでのところ、次の方法しか見つけることができませんでした。

  1. データベース オブジェクトをグローバルにする (悪い)
  2. データベース オブジェクトを他のすべてのオブジェクトのコンストラクターに渡す (洗練されていない)
  3. データベース ラッパー クラスの使用を完全に停止する (迷惑)

Python でこれを行うためのより良い方法がきっとあるはずです (はい、Web と Stack Overflow を検索しましたが、どうやら間違ったキーワードを検索しているようです)。誰がそれが何であるかを説明できますか? 必要なデータベース接続は 1 つだけで、他のほとんどのクラスはそれを使用する必要があります。私がやろうとしていることを説明するダミーのPythonコードは次のとおりです。

(部分的) データベース ラッパー クラス:

データベースへのアクセスを必要とする別のクラス (クラス メソッド内の宣言されていないオブジェクトdb):

データベースにアクセスする 3 番目のクラス (クラス メソッド内の宣言されていないオブジェクトdb):

フレームワークの推奨事項を除いて、どんな提案も大歓迎です。Python でこの種の状況を処理する最善の方法について、理解を深めたいと思います。前もって感謝します!