问题标签 [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 投票
3 回答
3257 浏览

.net - NHibernate Postgresql 日期时间到时间转换

我正在使用 Fluent NHibernate 配置我的映射在读取数据时一切正常,但是当尝试插入或更新 Postgresql 类型为 Time 的记录时,我收到错误消息

"ERROR: 42804: column \"run_time\" is of type time with time zone but expression is of type timestamp without time zone"

看起来 NHibernate 可能对将 DateTime 转换为哪个 DbType 感到困惑,正如您从PostgreSQL 和 C# Datatypes中看到的那样,DateTime 映射到多个 DbType。

我还尝试从 IUserType 为该列指定自定义类型,但在 NullSafeSet 覆盖上我得到 NullReferenceError

我可以提供某种类型的提示来告诉 NHibernate 将 DateTime 转换为 Postgresql“时间”类型吗?或者我可以通过 IUserType 实现这一点而我只是做错了什么?

0 投票
2 回答
1627 浏览

nhibernate - NHibernate ISessionFactory.OpenSession() 不打开数据库连接

我已将 NHibernate 配置为使用 Fluent NNibernate 连接到 PostgreSQL 数据库。

我有一个工作类,它将 ISessionFactory 作为构造函数参数并使用队列中的消息。对于每条消息,工作进程调用 ISessionFactory.OpenSession() 并进行一些数据库处理。

当我添加更多工作进程时,系统的性能保持不变,这很奇怪。经过更多调查后,我意识到所有工作进程都使用单个数据库连接。例如,我将添加 8 个工作进程,但在数据库上我只能看到一个数据库连接。

我的理解是 ISessionFactory.OpenSession() 将打开一个新的数据库连接,除非连接池已满。

我的理解是错误的,还是 Postgres NHibernate 驱动程序的问题。

0 投票
1 回答
3899 浏览

asp.net - 使用 PostgreSQL 的 ASP.NET 的 ODBC 或 NpgSQL

我在 ASP.NET 中有一个带有 postgreSQL 数据库的项目。我不知道哪种连接类型更好。一方面我在 ODBC 我们有服务器资源管理器(拖放 gridview),另一方面它不是独立的应用程序层和逻辑层。请问哪种连接类型更好 ODBC 或 NpgSQL,为什么?

关于我的项目的一些事情:

  • 使用 master.page 的应用程序 ASP.NET,
  • 具有 18 个表和 4 m:n 约束的数据库 PostgreSQL(认为这很难),
  • 应用程序必须生成 pdf、xml 等...
0 投票
1 回答
1368 浏览

parameter-passing - Dapper:我可以为任何事情使用参数吗?

我正在编写一些代码来为我的应用程序准备我的数据库。代码中有一些重复的 SQL 语句,当我创建表时,我想将它们隐藏在某些方法中(目前只有两个:创建主键和使表的 id 成为自动递增的postgres)。对于主键的简单情况,我先写了一个这样的函数:

经过大量的错误和异常摆弄,我终于得出结论,这种方式使用参数并不真正支持,所以我切换到传统的string.Format()调用,一切都很好。

但我不是很满意。这种使用参数的方式真的不支持吗?如果是这样,我可以在哪些地方安全地使用这些参数?只针对 SQL 查询的可变部分——比如我可以使用存储过程参数的地方?

0 投票
1 回答
958 浏览

.net - ActiveRecord、NHibernate 和 PostgreSQL

我有点卡在这里,无法让它工作。看起来很简单,但我一定做错了什么。

我有一个简单的类来测试 NHibernate Active Record 和 PostgreSQL,看看

我正在尝试从我的班级创建架构,如下所示:

ActiveRecord 能够初始化这个类,但它总是卡在 CreateSchema 方法中。这是配置文件。专家有什么建议吗?

编辑:我想出了这个。问题是文档是错误的。PostgreSQL 不使用关键字“初始目录”,而是使用“数据库”,如下所示:

谢谢!

0 投票
1 回答
309 浏览

mono - nginx 拒绝 npgsql 访问数据库

我正在mono框架之上开发asp.net mvc web项目,使用nginx作为web服务器和npgsql驱动程序来访问postgreSQL数据库。

如果不涉及数据库,该项目在 nginx Web 服务器上运行良好。但是当我使用数据库时,该站点抛出HTTP 500 错误

无法建立到“127.0.0.1”的连接。

说明:HTTP 500。处理请求时出错。

堆栈跟踪:

System.Exception:无法建立到“127.0.0.1”的连接。在 Npgsql.NpgsqlClosedState.Open (Npgsql.NpgsqlConnector 上下文) [0x00000] 在 :0

似乎 nginx 阻止了 npgsql 对数据库的访问。知道如何解决吗?

仅供参考,我使用 nhibernate 作为 ORM,单声道 2.10(在 Windows 上)。

编辑

我创建了一个简单的控制台项目来测试连接:

程序在 .NET 框架上运行良好,但无法连接到 mono 框架上的数据库。所以,问题出在单声道而不是 nginx 上。不过,我不知道如何解决它。

0 投票
2 回答
6215 浏览

c# - “:”处或附近的 Npgsql 语法错误

我已经看了几天了,我已经做了很多测试,但我仍然无法让它工作。我正在使用 Npgsql 2.0.11.91(我也尝试过 2.0.11)和 PostgreSQL 9.04。

使用可在此处找到的 Npgsql 用户手册中的示例。搜索“使用 .NET 数据集”以查看示例。它对我来说很好,但我正在尝试修改它以满足我的需要。

我的代码如下。无论我尝试什么,我都会遇到某种错误。使用下面的代码,这几乎是用户手册中的内容,我得到一个 NpgsqlException 未被用户代码处理

有任何想法吗?

皮特。

0 投票
1 回答
3747 浏览

postgresql - PostgreSQL,布尔类型存储值作为“T”和“F”破坏ORM的问题

如果我在 Postgres 表中定义布尔数据类型并从中进行查询,则布尔列的结果将返回为“t”或“f”。

我使用 NPGSQL 作为我的驱动程序,使用 Dapper 作为 ORM。这会导致问题,因为 Dapper 无法将“t”或“f”转换为布尔值,并且所有布尔值最终都为 False。

有没有办法用 Postgres 改变这种行为,或者我是否需要使用字符数据类型来解决它?

0 投票
1 回答
1305 浏览

c# - Npgsql 中的 InvalidCastException

在此处输入图像描述

我的问题是:我想通过总结两个日期之间的货币类型列来写结果。

代码:

0 投票
1 回答
299 浏览

postgresql - Npgsql 支持社区版的 postgres 吗?

我从企业数据库网站上了解到,只有 Postgres 标准服务器和高级服务器支持 Npgsql。

但我不确定 1. Npgsql 是否完全不能与社区版本一起使用??或 2. 只是它没有与社区版本一起打包,但我可以使用 npgsql 连接和使用来自 .Net 的 postgresql

有人可以帮我理解吗?