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

python-3.x - MariaDB、pypyodbc、「不明なプリペアド ステートメント ハンドラ」が、「LOAD DATA LOCAL INFILE」でロードされたテーブルで「SELECT」クエリを実行しています。

Python 3.4.3、MariaDB 10.0.21、MariaDB ODBC Connector 1.0.0、pypyodbc 1.3.3、すべて 64 ビット Windows 7 上の 64 ビット。

テーブルを作成し、固定幅ファイルからデータを入力し、それに対して SELECT ステートメントを実行することになっている Python スクリプトがあります。すべての単純なもの。私のスクリプトは次のようになります。

テキスト ファイルの各行から最初の文字を取得し、テーブルの唯一の列に貼り付けます。ただし、「SELECT」ステートメントが来ると、次のエラーが発生します。

しかし、本当に気になるのは、次のように、テーブルにデータを入力してから「SELECT」を実行するまでの間にデータベース接続を閉じてから再度開くだけで、エラーを取り除くことができるということです。

残念ながら、これは実際には私の問題に対する有効な解決策ではありません。これは私がする必要のないことであるだけでなく、「修正」の切断フェーズ中にドロップされるだけなので、一時テーブルに関しては役に立ちません。どんな洞察も素晴らしいでしょう、これは私を壁に追いやっています。

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

python - Python スクリプト内で SQL Server 一時テーブルを作成する

pypyodbc を使用して SQL Server に接続しています。SQL で行うように、結果セットを一時テーブルに保存したいと考えています。しかし、私がそれをやろうとするたびに、次のエラーメッセージが表示されます:

pypyodbc.ProgrammingError: ('24000', '[24000] [Microsoft][ODBC SQL Server Driver]無効なカーソル状態')

これは私がクエリしようとしているものです:

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

sql-server - Python から Access データベースのローカル テーブルと ODBC リンク テーブルの両方を操作できますか?

pypyodbc は .accdb データベース内のリンクされたテーブルにどのように接続できますか? これはまったく可能ですか、それとも pyodbc の制限ですか?

MS Acess .accdb データベースから Python にデータを取得する必要があります。これは完全に機能しpypyodbc、.accdb データベース内で定義されたテーブルとクエリにアクセスするために使用できます。ただし、データベースには、外部 SQL Server にリンクされたテーブルもあります。このようなリンクされたテーブルにアクセスpypyodbcすると、SQL サーバーに接続できないと訴えます。

test.accdbTest(ローカル テーブル) とcidb_ain(リンクされた SQL テーブル)の2 つのテーブルが含まれています。

次の Python 3 コードは、データにアクセスしようとする試みです。

出力:

エラー メッセージは、大まかに「'SQL Server Native Client 11.0SQLHOST' への ODBC 接続に失敗しました」と訳されます。

pypyodbc を使用して .accdb データベースを介して SQL Server にアクセスすることはできませんが、cidb_ainMS Access 内からテーブルをクエリすることは可能です。さらに、SQL Server に直接接続できます。

(1)MS Access(およびMatlabも)が.accdbファイルに含まれる情報を使用してリンクされたテーブルを照会できること、および(2)SQL Serverにアクセスできることを考慮すると、問題はに関連していると思いますpypyodbc. (エラーメッセージでドライバ名とホスト名がめちゃくちゃにされている方法'SQL Server Native Client 11.0SQLHOST'も、やや疑わしいようです。)

私は以前に Access を使用したことがないので、しばらくお待ちください。不要と思われる重要な情報を省略した場合はお知らせください...

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

sql-server - Linux で ODBC ドライバーを構成する

このリンクのすべての手順に従いました: https://code.google.com/p/pypyodbc/wiki/Linux_ODBC_in_3_steps

しかし、私はまだこのエラーが発生しています:

[unixODBC][ドライバー マネージャー] データ ソース名が見つからず、既定のドライバーが指定されていません

その後、さらに調査を開始すると、これが見つかりました: https://askubuntu.com/questions/167491/connecting-ms-sql-using-freetds-and-unixodbc-isql-no-default-driver-specified

ここで、odbc.ini ファイルを変更してサーバーとデータベース名を含めるように指示されています。しかし、同時に複数のサーバーに接続しようとしている場合、この場合、odbc.ini ファイルをどのように構成すればよいでしょうか?

また、データベース接続文字列では、ドライバー名を {SQL Server} または {FreeTDS} として入力する必要がありますか?

0 投票する
3 に答える
1872 参照

python - パラメーターを持つ PypyODBC: [ODBC Microsoft Access Driver] パラメーターが少なすぎます。予想される 4

アクセスデータベースからデータを選択するためにpypyodbcを使用しています。指定された 3 つのパラメーターを使用して、次のクエリを使用しています。

何種類か試しましたがダメでした。構文に問題はありません。


パラメータには次のタイプがあります。

印刷すると、次のようになります。

pypyodbc.DatabaseError: ('07002', '[07002] [Microsoft][ODBC Microsoft Access Driver] パラメーターが少なすぎます。4 が予想されます。')

印刷 1 : [thisDate]、[thisTime]、[uSec]、[threeR]、[twoCV]

Print 2 : SELECT [thisDate], [thisTime], [uSec], [threeR], [twoCV] FROM [table_a] WHERE (thisDate = ? AND thisTime > ?) OR (thisDate > ?) , 1900-09-16 , 00:00:00


編集:いじりながら、列の1つを削除すると正常に実行されるようです。ソーステーブルには両方の列が存在しますが。これは、元のクエリが実行されない理由に関する質問には答えません。

編集 2 : 日付と時刻の列の名前を変更しても違いはありません。以下でもエラーが発生します。

[Microsoft][ODBC Microsoft Access Driver] パラメータが少なすぎます。期待 5。

編集 3 : これは、プル元のテーブルのデザイン ビューです。 ここに画像の説明を入力