問題タブ [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.
nhibernate - nhibernate、postgresql、datetime.maxvalue
DateTime.MaxValue
エントリがまだ削除されていないことを示すために使用するアプリケーションを入手しました。問題は、日付/時刻が postgres に格納されると、PostgreSQL (または npgsql または nhibernate)9999-12-31 23:59:59.999999
が ( ) に丸められることです。10000-01-01 00:00:00
その値をデータベースから読み取ると、InvalidCastException
.
nhibernate/npgsql にこれらの値を読み込ませて変換するにはどうすればよいDateTime.MaxValue
ですか? データベースへの読み取り/書き込みを行うアプリケーションが他にもあるため、他の修正は不可能です。
*更新、完全なスタック トレース *
c# - Npgsql-EntityFrameworkのデータモデルからの生成ddlスクリプト
VS 2010でデータモデルを作成しましたが、PostgreSQLデータベース用のDDLスクリプトを生成したいと思います。.NET 4.0プロファイルmachine.configファイルにNpgsqlプロバイダーを登録し、app.configファイルに適切な接続文字列を作成しましたが、データベースにモデルを書き込もうとすると、プロバイダーのリストにNpgsqlプロバイダーが見つかりません。
助けてくれてありがとう。
linq - npgsql LINQ は SQL Server の SQL 構文を作成します
.NET v3.5 プロジェクトで Npgsql 2.0.11 で LINQ を使用しようとしています。データ テーブルから最初の単純なクエリを実行しようとしていますが、Postgresql に送信される構文が Pgsql 構文ではなく SQL Server 構文であるため、サーバーが構文エラーをスローすることがわかりました。
ドキュメントで提案されているように、プロジェクトの App.config にファクトリ生成を追加しました。
<system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.11.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>
</DbProviderFactories>
</system.data>
ここにスニペットがあります:
factoryはNpgsql.NpgsqlFactoryのインスタンスであり (正しいようです)、connectionは Npgsql.NpgsqlConnection のインスタンスであることがわかりました。それはすべて良さそうです。ただし、GetTable を実行しようとすると、生成された SQL 構文に角かっこやその他のさまざまな SQL Server 固有の構文が含まれています。
何が欠けている可能性がありますか?
visual-studio - Visual Studio でアクセスできるようにカスタム DB プロバイダーを追加するにはどうすればよいですか?
Visual Studio でカスタム DB プロバイダーを使用したいと考えていました。Entity Framework を使用するために必要です。
たとえば、NpgSQL をダウンロードし、GAC に登録しました。
machine.config ファイルに次のように追加されます。
しかし、Npgsql は Visual Studio のデータソース リストに表示されませんでした。
このリストにカスタム DB プロバイダーを追加するにはどうすればよいですか?
UPD: コマンド文字列 edmgen.exe を使用すると、エラーが発生しました:
エラー 7001: 登録された .Net Framework Data Provider の検索または読み込みに失敗しました。
performance - PSQL = 高速、リモート SQL = v.slow
わかりました、質問が少し曖昧であることを感謝しますが、グーグルで一日を過ごした後、私はどこにも行きません.
問題は、特定のテーブルに約 1,000 ~ 1,500 万行の PostgreSQL データベースがあることです。
テーブルの DateTime フィールドに基づいて、すべての列の選択を行っています。結合はなく、where 句 (時間 >= x AND 時間 <= y) を使用した標準の選択のみです。フィールドにもインデックスがあります...
ローカル マシンで psql を使用して sql を実行すると、約 15 ~ 20 秒で実行され、50 万行が返されます。そのうちの 1 つは、行ごとに大量のデータを保持するテキスト フィールドです (プログラム スタック トレース)。 . 同じ SQL を使用して Npgsql、または Windows の pgadmin III で実行すると、約 2 分かかります。
これにより、ネットワークの問題であると考えるようになりました。クエリの実行中にマシンをチェックしましたが、大量のメモリや CPU を使用しておらず、ネットワーク速度もごくわずかです。
メモリ設定についても、Postgres サイトの推奨事項を確認しました。shmmax と shmall の更新を含みます。
Ubuntu 10.04、PSQL 8.4、4GB RAM、2.8GHz Quad Xeon (仮想だが専用リソース) です。マシンにはWindowsの対応物(2008 R2、SS2008)も搭載されていますが、オフになっています。クエリは、同じスキーマとデータで SS を使用して約 10 ~ 15 秒で返されます。これは直接的な比較にはならないことはわかっていますが、ディスク パフォーマンスの問題ではないことを示したかったのです。
質問は...何か提案はありますか?変更する必要があるネットワーク設定はありますか? 私が逃したものはありますか?データベースについてあまり多くの情報を提供することはできませんが、難読化された EXPLAIN ANALYZE を次に示します...
c# - Npgsql Prepare の問題
C# のアプリケーションを使用して PostgreSQL に行を挿入しようとしています。Npgsql プロジェクトのホームページ に示されている手順に従って、テーブルに行を挿入するために準備済みステートメントを作成しようとしました。私はこれを得た:
そして、このエラーが発生しました:
何か意見はありますか?
前もって感謝します
c# - npgsqlの日付型は何ですか?
postgreSQLデータベースを使用しています。SQLクエリで「日付」パラメータを追加する必要があります。コード「XXX」で書いた場所に何を書く必要がありますかソースコードは次のとおりです。
c# - C#/Postgres/FluentNHibernate: npgsql を構成すると NotSupportedException がスローされる
ときどき、自分のソースコードで何が起こっているのか本当に疑問に思うことがあります。npgsql 2.0.11.0 を使用して PostGres 9.0 に接続しようとしています。以下 :
Stacktrace は非常に見やすく、1 行しかありません。
これを次のように書き写してみました。
それでも、結果は同じです。誰かが同様の問題を抱えていましたか?
c# - npgsqlの数値型とブール型は何ですか?
postgreSQL データベースを使用しています。SQLクエリで「数値」および「ブール」パラメーターを追加する必要があります。コード「XXX」で書いたところに何を書けばいいのでしょうかソースコードは以下の通りです。
c# - ExecuteScalarで挿入するときに、NpgsqlでシリアルIDを取得します
シリアル主キーを使用してPostgreSQLテーブルに行を挿入しようとしていますが、挿入後にこの列を取得する必要があります。私はこのようなものを手に入れました:
テーブル「pais」には、id、pais、capitalの3つの列があります。idはシリアル列であり、その主キーです。
テーブルに行を挿入しますが、「res」値はnullです。nexval('table_sequence')を使用して挿入すると、nullも返されます。
テーブルのIDを返す方法はありますか?私は何かが足りないのですか?
前もって感謝します