問題タブ [npgsql]

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 に答える
1499 参照

.net - NpgsqlDataReader のブロックを停止するには?

大規模な PostgreSQL テーブルに対して次のコードを実行すると、すべてのデータがフェッチされるまで NpgsqlDataReader オブジェクトがブロックされます。

すべてのデータをプリフェッチしないように動作させるにはどうすればよいですか? 一度に 15 GB をすべてメモリにフェッチせずに、結果セットを行ごとに処理したいと考えています。

Npgsql 1.x でこの種の問題があったことは知っていますが、私は 2.0 を使用しています。これは、XP/Vista/7 上の PostgreSQL 8.3 データベースに対するものです。また、接続文字列にファンキーな「Npgsqlにプリフェッチを強制する」ものはありません。なぜこれが起こっているのか、私は完全に途方に暮れています。

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

c# - Npgsql: INSERT コマンドが挿入されない

問題:

NpgsqlCommand.Text: INSERT INTO mytable (id, name) VALUES (:id, :name)
パラメータ 1: name=id, value=42
パラメータ 2: name=name, value="whatever"

command.ExecuteScalar()失敗しませんが、新しい行はありません。IDの重複もありません。

コード:

上記のコードは実際のコードではありません。線形化するために、いくつかの DAL クラスからそれを収集する必要がありました...
トランザクションはもちろん、このコードの前に作成され、後でコミットされます。

テーブル定義:

質問):

  • ふ?
  • なんで?
  • 私は何を間違っていますか?

結果:

トランザクションがコミットされているかどうかを常に確認し、Commit() がコメントアウトされていないかどうかを再確認してください...

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

c# - ビジュアルC#を使用して、アクセスmdbからデータを取得してpostgresqlテーブルに入れる方法は?

さて、私がすでに行ったことは、Microsoft.Jet.OLEDB プロバイダーを介して mdb テーブルにアクセスするために接続できることです。次に、選択クエリ、OleDbDataAdapter、および DataSet を使用して、テーブルからデータを取得できます。

今、私は Npgsql 経由で Postgresql に接続できますが、私を逃れるものは何ですか - どうすればアクセス テーブルからデータを取得し、それを postgresql テーブルに入れることができますか?

私が達成したいのは、アクセスmdbテーブルからデータを取得し、「select into」クエリを使用してpostgresqlテーブルに挿入することです。

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

postgresql - Postgre Npgsql接続はSQL Serverより遅い

インターネットまたはVPN経由でpostgresに接続すると、SQLサーバーよりも遅いのはなぜですか? テストがあります

接続が localhost の場合は似ていますが、接続がインターネット経由の場合です。SQL 接続には 1 ~ 5 秒かかりますが、postgres には 3 ~ 7 分かかります。とにかくこれを修正する方法はありますか?

トゥアン ホアン アン

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

postgresql - DB 時間を取得する NpqsqlCommand.ExecuteScalar の呼び出し中にエラーが発生しました

次のコードを使用して、DB から DateTime を取得するメソッドがあります。

NpgsqlCommand cmd = ActiveConnection.CreateCommand(); cmd.CommandText = "SELECT NOW()";

オブジェクト obj = cmd.ExecuteScalar(); (DateTime)obj を返します。

結果を DateTime に変換するときに、InvalidCastException がスローされることがあります。結果 (obj) が null になる場合があります。なぜこれが起こっているのですか?スクラッチをどこから始めるかについて何か考えはありますか?

TIA ホセ・タバレス

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

postgresql - Postgres 関数 (npgsql 経由) の ExecuteNonQuery への呼び出しは、影響を受ける行の結果として -1 を返します

提供されたパラメーター値をテーブルの列に挿入するだけの単純な関数があります。

コマンド オブジェクトで ExecuteNonQuery() メソッドを介して関数を実行すると、挿入が行われた場合でも、常に -1 が返されます。

テキストコマンドと同じクエリを実行すると、正しい結果が 1 になります。

私はpostgresql/npgsqlが初めてです。影響を受ける行数を関数にフィードバックさせるトリックはありますか? SQL Server で "set nocount off" のようなものはありますか?

編集: 私が使用しているコード:(npgsql 2.0.11を使用)

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

postgresql - PostgreSQLの.NETプロバイダーは、古いODBCプロバイダーと比較して実行速度が遅くなります

ODBCプロバイダーと比較した場合にNPGSQL.NETデータプロバイダーが遅いのはなぜですか?NPGSQL 2.0は試していませんが、NPGSQL1.0を使用しました。とても遅かった。

NPGSQL 2.0でのあなたの経験は何ですか?

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

postgresql - Npgsqlのテーブルの行を削除するには?

このコードを使用してテーブルの行を削除していますが、機能していません。私は間違いを犯したり、何かを見逃したりしますか?

上記のタスクを実行すると、データベースが変更されていないことがわかります。データベースの最初の行である bookID=1 はまだ残っています。

INSERT コマンドを使用しようとしましたが、動作します。テーブルの最後の行に新しいデータが挿入されました。以下のコードは正常に動作しています。

どんな手掛かり?ありがとう。


への応答: astander

次のエラー メッセージが表示されます:
http://i901.photobucket.com/albums/ac218/pcser/error.jpg

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

c# - Npgsql: プリペアド ステートメントを実行する方法

マルチプレイヤー ゲーム用のデータベース バックエンドを開発しています。サーバーは C# で書かれており、Npgsql を介して Postgres データベースと通信します。

現在、マニュアルは準備されたステートメントの使用方法を示しています。

また、準備済みステートメントはデータベース セッション内でのみ有効であると述べています。2 つの質問があります。

1.) 同じコマンド テキストとパラメーター タイプで新しい NpgsqlCommand オブジェクトを作成した場合、サーバーはこのコマンドが準備されたことを認識しますか、それともオブジェクトを保持し、再度実行する前に単に変数を変更する必要がありますか? この例では、コマンド オブジェクトはクエリの後に配置されます。

2.) このスタイルの単純なステートメントしかありませんが、準備されたステートメントはおそらくパフォーマンスを向上させます:

同じスタイルの何百ものクエリが連続して実行される可能性があります。現在、クエリごとに新しい NpgsqlCommand (および NpgSql のプールからの NpgsqlConnection) オブジェクトを作成しています。

ありがとう!

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

c# - 1 つの関数で合計行が見つかったレコードを返す方法

パラメーターを参照で渡したいので、合計行をパラメーターに割り当てることができます。これまでのところ、私はそれが不可能だと思います。なにか提案を?私はC#を使用しています

編集

「RAISE NOTICE」がおそらく役立つことがわかりました。npgsqlを介して.Netで通知を受け取る方法をまだ見つけています