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

c# - 読み取り中にデータ リーダーを中断できますか?

実行中のリーダーを停止することは可能ですか?

シナリオ: 100000 個のデータ セットを含むテーブルがあります

およびデータを読み取るためのコンソール アプリケーション (.NET 4.0、Npgsql 2.0.11.0/2.0.11.92)

データ リーダーが実際に停止できないことを確認しました。データリーダーは最初にすべての行を読み取り、その後正常に戻るようです。

この例は、読み取りに時間がかかりすぎるためにユーザーがボタンを押してデータ リーダーを停止する、より大きなアプリケーションの要約です。

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

c# - 閉じた後も接続はまだアイドル状態です

15分ごとにPostgresデータベースのテーブルをチェックする必要があるC#クライアントアプリケーションがあります。問題は、このクライアントを多かれ少なかれ200のクライアントにインストールする必要があることです。そのため、クエリの後でDB接続を閉じる必要があります。

.Close()メソッドを使用していますが、Postgres DBのpg_stat_activityテーブルを確認すると、IDLEステータスで接続がまだ開いていることがわかります。どうすればその問題を修正できますか?接続を確実に閉じることは可能ですか?

ありがとう、アンドレア

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

sql - PostgreSQL - キーと値のペアの配列を返す最良の方法

いくつかのフィールドを選択しようとしていますが、そのうちの 1 つは、配列の各要素に2 つの値を含む配列である必要があります。各配列項目には、名前 (さまざまな文字) と ID (数値) を含める必要があります。(キーワードを使用して) 単一の値の配列を返す方法は知ってARRAYいますが、2 つの値を含むオブジェクトの配列を返す方法がわかりません。

クエリは次のようなものです

これを行う 1 つの方法は、値を型に選択してから、その型の配列を作成することです。問題は、関数の残りの部分が既に型を返していることです (つまり、ネストされた型を持つことになります。それでよろしいですか? もしそうなら、アプリケーション コードでこのデータをどのように読み取るのでしょうか? つまり、NPGSQL のような .Net データ プロバイダーを使用します)。 ?)

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

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

npgsql - npgsqlでタイムアウトミリ秒を設定する

npgsqlのデフォルトの接続タイムアウト値は秒単位ですが、1秒未満にする必要があるため、ミリ秒単位で設定したいと思います。

psフラクショナル(例:0.5)を設定しようとしましたが、機能しません

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

entity-framework - Postgresql と Npgsql を使用した Entity Framework

私は Entity フレームワークで完全に n00b です。Postgresql と Npgsql をインストールしました。DB の簡単なテストから始めたかっただけですが、テーブルの ID 列で既に問題が発生しています。

単純なテーブル Score とその PK 制約を postgres で手動で作成することから始めます (以下の sql)。パラメータ /retrofitmodel を指定して edmgen2.exe を実行します。リストでは、スコアテーブルを含めることのみを確認し、edmgen2.exe は 4 つのファイルを出力します。ファイルを VS2010 プロジェクト ディレクトリにコピーし、edmx もプロジェクトに含めます。ダイアグラムを開くと、ScoreID にキー記号が付いています。単純なオブジェクトを挿入するコードを書きます。初めて実行したときは機能しますが、次回は次のようになります。

{"エラー: 23505: 重複するキー値が一意の制約 \"Score_PK\" に違反しています"}

データベースを調べたところ、そこにある 1 つのアイテムのスコア ID は 0 でした。何らかの理由で、EF が ID 値をインクリメントするのではなく、ID 0 で別のオブジェクトを作成しようとしているようです。これは、実際の db モデルを使い始める前のばかげた単純なテストにすぎないため、気が狂いそうになります。

私が試してみました:

  • 図の StoreGeneratedPattern 属性を None から Identity に、さらに Computed に変更します。

  • これらの値を ScoreID 属性の ssdl ファイルにも挿入する

関連するコードの一部を以下に添付しました。私を助けてください!!

テーブルの作成:

保存方法:

SSDL ファイル (<> を削除):

EDMX ファイルの一部 (<> を削除):

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

c# - postgresql 間隔を C# TimeSpan にキャストできません

postgresql interval を次のようにキャストできませんTimeSpan:

投げています:

「指定されたキャストは無効です」

しかしdr["Hours"]、値を返します"06:00:00":/

私は何を間違っていますか?npgsql のいくつかのバージョンを試してみましたが、何も変わりませんでした。

dr["時間"] は NpgsqlTypes.NpgsqlInterval です

編集:

私がそれを機能させる唯一の方法は、次を使用することです:

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

c# - Npgsql:ODBC espaceシーケンスを認識できますか?

私はこのSQLクエリを持っています(T-SQLで):

次に、スイッチをオンにできるautomagic regex変換を使用して、最上位の構文をPostgreSQLと互換性のあるものにします。これにより、入力ステートメントから次の出力ステートメントが生成されます。

PostgreSQLでほとんどのものを動作させるにはこれで十分だと思いましたが、NpgsqlがODBCエスケープシーケンス({fnwhatever()})を認識しないことに気付きました。

Npgsql接続文字列設定でオンにできるオプション、またはPostgres自体にオプションはありますか?
または、運が悪かったので、ODBCエスケープ関数の置換関数を作成する必要がありますか?

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

connection - Npgsql: プールから接続を取得中にタイムアウトが発生しました

背景: アプリケーションを mssql から npgsql v2.0.11.92 に移行しています。アプリケーションを数分または数時間実行した後、System.Exception: Timeout while gets a connection from the pool が発生します

x64 プラットフォームの x86 環境で lib バージョン 2.0.11.92 を使用しています。すべての接続が閉じられ、遅くともfinallyブロックで破棄されますが、しばらくするとエラーが発生します。したがって、Npgsql ライブラリの問題であるはずです。

私のアプリケーションでは、バックグラウンドで数秒ごとに多数のクエリが実行されていますが、ほとんどの場合、クエリは並列ではなく順次実行されています。

私が使用した接続文字列は次のとおりです。SERVER=mydbserver;MINPOOLSIZE=3;MaxPoolSize=15;ConnectionLifeTime=7;DATABASE=Test DB;UID=user;PWD=pass

npgsql でリークしている postgres 接続を診断しようとしています。

参考までに: Npgsql ライブラリには既にリークの問題があり、最新バージョン 2.0.11.92 で修正されています。しかし、まだいくつかの問題があると思います。

現在のライブラリ バージョン (npgsql v2.0.11.92) で同様の問題を経験した人はいますか?

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

logging - npgsqlログ出力をlog4netロガーにリダイレクトする方法は?

npgsqlログ出力をlog4netロガーにリダイレクトすることは可能ですか?npgsqlソースコードからは、stdout / stderrまたは指定されたファイルに直接ログを記録しているように見えます(の静的プロパティを使用NpgsqlEventLog)。そのロギングをlog4netにルーティングする方法はありますか?