問題タブ [pypyodbc]

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

python - データベースとの開いている接続の数

いいえの数を取得したい。ms-access データベースで現在開かれている接続の数。

たとえば、2 つのアプリケーションが同じデータベースで動作しているとします。では、どうすればこのカウントを取得できますか? pypyodbc に ms-access 関数やその他の機能はありますか?

pypyobdc を使用して、どうすれば no. データベースとの開いている接続の??

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

python - unix odbc および pypyodbc で奇妙な結果が返される

Microsoft SQL サーバー インスタンスにクエリを実行するように odbc をセットアップしました。私の SQL ステートメントは、isqlコマンド ラインから正常に実行されます。ただし、結果で同じクエリを使用すると、pypyodbc正しくありません。私のクエリのユニークな点は、ネストされた左結合があることです。

データセットは、基本的にユーザーのログイン情報です。そのため、デバイス テーブル (ハードウェア)、ノード テーブル (ソフトウェア)、およびユーザー テーブル (ノードにログオンしているユーザー) があります。

ネストされた左結合が行うことは、デバイス/ノードにログオンした各ユーザーに対して新しい結果を作成することです。もちろん、誰もログオンしていない場合はユーザー情報を返しません。前述したように、SQL ステートメントはコマンド ラインで機能します。私のpythonスクリプトではありません-pythonスクリプトからはユーザーを追加しますが、コマンドラインからは追加しません。誰かが私に光を当てるのを手伝ってくれませんか?

私のSQLクエリ:

私のPythonコード:

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

python - SQLAchemy は行内の指定された列を見つけることができません

私はSQLAlchemyに不慣れで(一般的にORMではありません)、文字通り何も役に立たないという問題に直面しています。私ができることは、私がやりたいことであるクエリをハードコーディングすることだけです。

これがまさに私がやろうとしていることです(Pythonのコメントを参照して、何が機能するか、機能しないかを確認してください-

私が得ているエラーはですsqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for column 'Items.Id'"

生成された SQL は正しい -

__tablename存在しないものに変更すると、無効なオブジェクト名エラーが発生するため、正しいデータベースを指していることはわかっています。SQLAlchemy が私の列を見つけられないのはなぜですか?

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

python - .accdb ファイルを Python にインポートしてデータを使用するにはどうすればよいですか?

いくつかの異なる要因に基づいてデータの最適な組み合わせを見つけることができるプログラムを作成する方法を見つけようとしています。

クリーチャー データを含む Microsoft Access ファイルがあります。攻撃、防御、健康、使用するために必要な戦闘スキル、およびその他のいくつかの情報。

この .accdb (Access 2013) ファイルをインポートして、保存されたデータにアクセスできるようにしようとしています。

すべてのデータをスキャンし、すべての可能な組み合わせ (5 体のクリーチャーのセット) を実行して、さまざまな必要な戦闘スキル (例: 100 の戦闘スキルではクリーチャー 1、2、 3、4、および 5 (125 バトル スキルではクリーチャー 3、5、6、8、および 10 を使用)

最初に助けが必要なのは、簡単にアクセスできるようにデータベースをインポートできることです。これにより、Python でデータを再作成する必要がなくなり、将来、新しいアクセス データベースに同じプログラムを使用できるようになります。

https://code.google.com/p/pypyodbc/をインストールしましたが、既存のファイルをロードする方法がわかりません。

編集

私の情報に合うように修正された、Gordの回答のコードを使用しようとしました。

印刷行でエラーが発生していたので、その周りに () を追加しました。

過去に発生していたものと同様に、このエラーが発生しています。

エラーコードに記載されている行でpypyodbc.pyファイルを調べましたが、それを理解できませんでした。r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" の先頭から "r" を削除しようとしました。r と "Driver の間にスペースを入れようとしましたが、それが何のためのものかわからなかったので、別のエラーが発生しました。

編集

提案どおりにファイルをチェックしました。私は64ビットを実行していると思います。32 ビット版と 64 ビット版の両方を確認しました。Microsoft Access Driver (*.mdb、*.accdb) を 64 ビットで使用していますが、32 ビットでは使用していません。2013 バージョンの Microsoft Visual Studio を使用しています。

編集

今働いています!

将来誰かに役立つ場合に備えて、私の最終的な作業コード。

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

python - Python 3.4 c_char_array で文字列を 2 バイトとして読み取るにはどうすればよいですか?

Ubuntu 12.04 で Python 3.4 で pypyodbc を使用しています。

列名を取得しようとしていますが、少し不安定です。戻ってくるのは、次のように、バイトとしての最初の文字だけです。

舞台裏にあるのは ctypes char 配列です。

しかし、生の値を見ると:

TYPE_NAME値が で区切られていることがわかります\x00

そのため、何が起こっているのか (ctypes?) が\x00、文字の一部ではなく文字列の null ターミネータとして最初にそれを読み取っているように見えます。

文字列全体を読み取るように ctypes の使用方法を変更するにはどうすればよいですか? 他のすべては正常に動作しているように見えますが、不安定なのは説明だけです。

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

python - SQLAlchemy を使用した Pandas データフレームからの Python MS Access データベース テーブルの作成

Python から MS Access データベースを作成しようとしていますが、pandas データフレームから直接テーブルを作成できるかどうか疑問に思っていました。pandas 関数を使用dataframe.to_sql()して、データフレームを SQLite データベースに正常に書き込むことができること、または他のデータベース形式 (残念ながら Access ではありません) に sqlalchemy エンジンを使用することによって、データフレームを正常に書き込むことができることはわかっていますが、すべての部品をまとめることはできません。私がテストしてきたコードスニペットは次のとおりです。

私がやろうとしていることが、現在使用しているパッケージでも可能かどうかはわかりませんが、独自のハッキーデータフレームを MS Access テーブル関数に書き込む前に、ここで確認したかったのです。sqlalchemy エンジンの設定が間違っているのではないでしょうか?

mssql+pyodbcエンジンでの私のエラーの終わりは次のとおりです。

mysql+pyodbcエンジンの終了エラー:

sqlalchemy を使用するか pandas を使用するかは気にしませんto_sql()。MS Access データベースにデータフレームを簡単に取得する簡単な方法を探しているだけです。それが JSON へのダンプである場合は、SQL を使用して手動で行を挿入するループ関数を使用します。うまく機能する場合は、それを使用します。

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

python - カーソルを使用したネストされたforループは、Pythonで最初の目的の結果のみを取得します

私が取り組んでいる次のコードがありますが、「入力」テーブルの最初の行に対してのみトリックを行うことができます。ネストされたループの 2 つのカーソル間に関係がないことは明らかですが、ネストされた while-for ループを試してみたところ、同じ結果が得られました。私はpython 3.4を使用しています。

テーブル入力の行をテーブル comparetable の行と比較し、式によって得られた結果が 5 未満の場合は、指定されたテーブルの対応 ID (row[0] & rowx[0]) と結果を出力します。出力と呼ばれる新しい別のテーブルの数式。問題は、入力テーブルの最初のレコードに対してのみ機能することです。

何か案は?希望は愚かなことです。私はすでにこの投稿をチェックしましたが、まだ解決方法がわかりません。

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

python - win7 で pypyodbc から IBM netezza SQL サーバーにアクセスする際のエラー

Win 7 で Python から IBM netezza SQL データベースにアクセスする必要があります。MS SQLサーバーではうまくいきました。

しかし、IBM netezza ではエラーが発生しました。

同じデスクトップとラップトップで問題なく IBM Aginity ワークベンチからデータベースにアクセスできます。

どんな助けでも大歓迎です。

ありがとう !