問題タブ [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.
sql - Postgres/NpgSQL を使用して列名を動的にクエリする方法
次のように、すべての列をカバーする条件を記述するのではなく (オプションのフィルタリングを可能にする)、多くの列を持つテーブルをクエリするためのフィルター オブジェクトがあります。
列ごとに。代わりに、理想的には、フィールド名をパラメーターとして渡すことができるようにしたいと思います。
解析時に列が必要なため、これは不可能です (この回答hereと同様)。
これをどのように克服しますか?-新しい列が追加または削除されたときにSQLを維持する必要はありません(最初の例で必要になるように)。列名をコマンド文字列に直接構築するのは危険だと思いますこれにより、SQL インジェクションが可能になる可能性があります。
このコードは Web サービスの背後にあることに注意してください。
c# - パラメータをSQL 'in'ステートメントに渡す方法は?
このクエリを作成したい:
しかし、Npgsql と NpgsqlParameter でこれを達成する例は見つかりません。私はこのように試しました:
しかし、うまくいきませんでした;)
unit-testing - NHibernate / Npgsql は、UnitTest のデバッグ中に CreateSchema 中に例外をスローします
Model と ModelTest という 2 つの C# プロジェクトがあります。モデルは ActiveRecord オブジェクト (Hibernate のラッパー) で構成されます。ModelTest で、単純な単体テストを作成しました。
Model.Init() は、アセンブリ Model のすべてのタイプを ActiveRecord に登録します。Model.CreateSchema() は、NHibernate の CreateSchema() を呼び出す ActiveRecordStarter.CreateSchema() をラップします。
このコードは、単体テストを実行すると正常に動作しますが、単体テストを「デバッグ」すると失敗します。デバッグ モードでは、CreateSchema() で例外が発生します。
テストを実行する前にデータベースが空の場合、SQL呼び出し「テーブルユーザーカスケードのドロップ」中に例外が発生したようです。新しいテーブルを作成する前に、常にドロップが送信されると想定しています。
ドロップクエリの結果に関して、Npgsql はデバッグモードで異なる動作をしますか?
c# - Npgsql クエリのデータ型に関する問題
日付列を持つ PostgreSQL テーブルに行を挿入しようとしています。UI では、ユーザーが適切な日付を選択する DateTimePicker を取得しました。これまでのところ、私はこれを得ました:
UI で:
行を挿入するメソッド:
次の例外がスローされます。
obj.date 値は 2011-04-29 です。一重引用符で囲んでみましたが、これも失敗します。
データベースの列の型は日付です。
誰もこれを以前にやったことがありますか?何か案は?
このリンクを検索して確認しましたが、役に立ちませんでした。ありがとう
postgresql - Postgres と Npgsql を使用した並列処理または PLINQ
12,000,000 行を超える Posrgres 9.04 データベース テーブルがあります。
各行を読み取り、(2 番目のテーブルに対して) いくつかの計算とルックアップを実行し、これらの計算の結果を使用して 3 番目のテーブルに新しい行を書き込むプログラムが必要です。完了すると、3 番目のテーブルの行数は 1 番目のテーブルと同じになります。
Core i7 720QM プロセッサでシリアル実行すると、24 時間以上かかります。8 つのコアのうちの 1 つにのみ課税されます (物理コアは 4 つですが、HTT 経由で Windows 7 に表示されるのは 8 つです)。
これを並列処理で高速化したい。PLINQ と Npgsql を使用できると思いました。
ただし、次のエラーが発生しますrecords.AsParallel()
:ソース タイプ 'System.Linq.ParallelQuery' のクエリ パターンの実装が見つかりませんでした。「選択」が見つかりません。範囲変数 'row' の型を明示的に指定することを検討してください。
私は多くの Google 検索を行ってきましたが、さらに混乱しています。NpgsqlDataReaderはSystem.Data.Common.DbDataReaderから継承します。これは、AsParallel拡張機能を持つIEnumerableを実装しているため、これを機能させるために適切なものが配置されているようです。
範囲変数の型を明示的に指定するために何ができるかは、私には明らかではありません。これを指定しないことをお勧めします。
PLINQ と互換性があると仮定して、DataSet への切り替えにオープンですが、12,000,000 行のため、可能であれば避けたいと思います。
これはNpgsqlで達成可能なものですか? 代わりに、Devart の dotConnect for PostgreSQL を使用する必要がありますか?
更新: http://social.msdn.microsoft.com/Forums/en-US/parallelextensions/thread/2f5ce226-c500-4899-a923-99285ace42aeを見つけたので、これを試してみました:
これまでのところ IDE でエラーは発生していませんが、これはこれを構築する適切な方法ですか?
c# - postgresqlデータベースから画像を取得する方法
postgresqlデータベースに大きなオブジェクトとして保存する画像を選択したいと思います。
私はこれを行うためにlo_exportを使用することを知っています。
しかし、問題があります。lo_exportを使用してサーバーに保存するファイルにアクセスできないため、この画像を自分のコンピューターに直接保存したいのです。
(選択クエリによってコンピュータに画像を転送する場合は、これが最適だと思います)
c# - NpgsqlDataReaderから行数を取得する方法
selectステートメントを使用した後、NpgsqlDataReaderから行数を取得しようとしています。私がチェックしようとしている理由は、データを処理する前に、データがあるかどうか、単一の行があるかどうか、または複数の行があるかどうかを確認するためです。どんな助けでも大歓迎です。
これはC#.NET4で実行されています
c# - ConcurrentQueue の PLINQ はマルチスレッドではありません
C# プログラムに次の PLINQ ステートメントがあります。
arrestQueue
とはどちらwriteQueue
もConcurrentQueuesです。
並行して実行されているものはありません:
- 実行中の合計 CPU 使用率は約 30% であり、これは他のすべてが実行されている場合でも同様です。私は 8 つのコア (4 つの物理コアを備えた Core i7 720QM でのハイパースレッディング) を持っていますが、8 つのコアのうち 4 つが実質的にまったく使用されていません。残りは約 40%-50% 実行されます。
- 通常、ディスク使用率は 0% であり、localhost 上の Postgres DB へのクエリを除いて、ネットワーク使用率はありません (以下を参照)。
- 内部のどこかにブレークポイントを追加すると
geocodeThis.Geocode()
、Visual Studio のThreadドロップダウンには[ pid ] Main Threadとだけ表示されます。他のスレッドに移動することはありません。 - 私はNpgsqlを使用して Postgres に接続しており、各スレッドはテーブルに対していくつかのSELECTクエリを実行しています。pg_stat_activityを示す pgAdmin III の Server Status アプリを実行しています。これと、戦略的なブレークポイントの配置 (上記を参照) を監視することで、同時実行されていると思われるすべてのスレッドに対してアプリが複数のデータベース接続を開くことは決してないこと
geocodeThis.Geocode()
がわかります。DB 接続文字列にPooling=falseを追加して、接続がプールされないように強制しても、 で複数の接続が使用されることはありませんgeocodeThis.Geocode()
。 - Postgres テーブルは、 WHERE句のすべての列でインデックスが作成されます。インデックスが不十分だったとしても、大量のディスク使用量が予想されます。Postgres が他の方法で物事を保持していた場合、それはコアを浸すように思われます。
これは単純な PLINQ のケース スタディのように思えますが、なぜ何も並行して実行されないのか頭を悩ませています。
asp.net - Login control in ASP.NET with PostgreSQL
I have a ASP.NET project and PostgreSQL database. In my database, I have table named user
and that table has attributes: password
and nick
.
I want use the Login component in my ASP.NET project, but I do not know how can I configure it for my own databse. In the project I use an empty ASP.NET web page. And for the connection I use ODBC
or NpgSQL
.
maybe i have to ues membership provaider... How can i use it with postgreSQL ????
Thanks a lot.