问题标签 [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 - 从实体框架的数据模型生成 ddl 脚本
我在 VS 2010 中创建了一个数据模型,现在我想为我的 PostgreSQL 数据库生成一个 DDL 脚本。我已经在 .NET 4.0 配置文件 machine.config 文件中注册了 Npgsql 提供程序,并在 app.config 文件中创建了正确的连接字符串,但是当我尝试将模型写入数据库时,我仍然无法在提供程序的列表中找到 Npgsql 提供程序。
提前感谢您的帮助。
linq - npgsql LINQ 创建 SQL Server sql 语法
我正在尝试在 .NET v3.5 项目中将 LINQ 与 Npgsql 2.0.11 一起使用。我正在尝试从数据表中进行第一个简单查询,我发现发送到 Postgresql 的语法是 SQL Server 语法,而不是 Pgsql 语法,导致服务器抛出语法错误。
按照文档的建议,我已将工厂生成添加到项目的 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>
这是一个片段:
我发现工厂是 Npgsql.NpgsqlFactory 的一个实例(似乎是正确的),连接是 Npgsql.NpgsqlConnection 的一个实例。这一切似乎都很好。但是,当我尝试 GetTable 时,生成的 SQL 语法包含方括号和各种其他 SQL Server 特定语法。
可能缺少什么?
visual-studio - 如何添加自定义 DB 提供程序以在 Visual Studio 中访问?
我想在 Visual Studio 中使用自定义数据库提供程序。我需要它来使用实体框架。
比如我下载了 NpgSQL,在 GAC 中注册:
并添加到 machine.config 文件中:
但是 Npgsql 没有出现在 Visual Studio 的数据源列表中:
如何将自定义数据库提供程序添加到此列表?
UPD:如果我使用命令字符串 edmgen.exe 我得到错误:
错误 7001:未能找到或加载已注册的 .Net Framework 数据提供程序。
performance - PSQL = 快速,远程 sql = v.slow
好的,我很欣赏这个问题有点含糊,但是经过一天的谷歌搜索,我一无所获,任何帮助都将不胜感激,我愿意尝试任何事情。
问题是我们有一个 PostgreSQL 数据库,它在一个特定的表中有大约 10-15 百万行。
我们正在根据表中的 DateTime 字段对所有列进行选择。没有连接,只是一个带有 where 子句的标准选择(时间 >= x 和时间 <= y)。该字段上也有一个索引...
当我在本地机器上使用 psql 执行 sql 时,它运行大约 15-20 秒,并带回 50 万行,其中一个是每行包含大量数据的文本字段(程序堆栈跟踪) . 当我们使用相同的 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 秒内返回,我知道这不是直接比较,但想表明这不是磁盘性能问题。
所以问题是......有什么建议吗?我应该更改任何网络设置吗?我错过了什么?我不能提供太多关于数据库的信息,但这里有一个解释分析,它被混淆了......
c# - Npgsql 准备问题
我正在尝试通过使用 C# 的应用程序将一行插入 PostgreSQL。按照Npgsql 项目主页中显示的步骤,我尝试构建一个准备好的语句,以便在表中插入一行。我懂了:
并得到这个错误:
有什么意见吗?
提前致谢
c# - npgsql 中的日期类型是什么?
我正在使用 postgreSQL 数据库。我需要使用 SQL 查询添加“日期”参数。我在代码“XXX”中写的地方要写什么这里是源代码:
c# - C#/Postgres/FluentNHibernate:配置 npgsql 抛出 NotSupportedException
有时我真的开始想知道我的源代码中发生了什么:我正在尝试使用 npgsql 2.0.11.0 连接到 PostGres 9.0,我很确定我已经这样做了,但是现在,我的程序在进入时抛出了NotSupportedException以下 :
Stacktrace 看起来非常整洁:只有一行。
我尝试将其转录为以下内容:
不过,结果是一样的。任何人都有类似的问题,或者 - 甚至更好 - 修复?
c# - npgsql 中的数值和布尔类型是什么?
我正在使用 postgreSQL 数据库。我需要使用 SQL 查询添加“数字”和“布尔”参数。我在代码“XXX”中写的地方要写什么这里是源代码:
c# - 使用 ExecuteScalar 插入时使用 Npgsql 检索序列 ID
我正在尝试使用串行主键将一行插入到 PostgreSQL 表中,并且我需要在插入后检索该列。我得到了这样的东西:
“pais”表有3列:id、pais、capital;id 是一个序列列,是它的主键。
它在表上插入行,但“res”值为空。如果我用 nexval('table_sequence') 插入也返回 null。
知道如何返回表的 id 吗?我错过了什么吗?
提前致谢