- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
does not exist."的 Postgresql 仅出现在 Win 7 上-6ren"> does not exist."的 Postgresql 仅出现在 Win 7 上-在 .NET 3.5 中使用 Npgsql(2.0.11 和 2.0.11.94)DLL 使用 Postgresql 时,我遇到了一个非常奇怪的错误。 我创建了一个程序来运行这两个查询(这些查询直接从-6ren">
在 .NET 3.5 中使用 Npgsql(2.0.11 和 2.0.11.94)DLL 使用 Postgresql 时,我遇到了一个非常奇怪的错误。
我创建了一个程序来运行这两个查询(这些查询直接从程序输出中复制):
INSERT INTO "db_events" VALUES ('2','1','2','1', to_timestamp('2012/08/27 10:22:43', 'YYYY/MM/DD HH24:MI:SS'),'2012', '8', '27', '10', '22', '43', '35' );
INSERT INTO "db_events_counts" VALUES ('1','2', '0', '1', '0', '1' );
这个程序将在 Windows XP x86 上运行得很好,同时使用 postgres 8.4.12 和 9.0.9,并将数据输入到表中。
但是,当在 Windows 7 上运行完全相同的程序时,数据库的设置方式与 Windows XP 数据库相同,我遇到了错误:
ERROR: 42P01: relation "db_events" does not exist
我读到这个错误是因为 postgres 强制表名小写,这很好,因为它们已经是小写了。或者用引号创建的表必须用引号引用,这也很好,因为我使用的是引号。
在 Windows 7 数据库中,如果我将这两个查询复制并粘贴到 pgadmin 中,它们工作正常,没有错误,这让我相信它与 DLL 有关?
没有意义的是这个程序在我的 Windows XP 系统上运行没有错误,而在 Windows 7 上不断抛出这个错误。
我也尝试了一个简单的删除语句:
DELETE FROM "db_events"; DELETE FROM "db_events_counts";
但这也以同样的错误结束。
有什么我想念的吗?Npgsql 是否需要在与运行时相同的 Windows 环境中编译?或者在 Windows 7 和 Windows XP 之间有一些我没有得到的 postgres 的细微差别。
如能提供有关该主题的任何帮助或信息,我们将不胜感激。
由于有关连接的问题,这是我尝试过的:
Server=localhost;Port=5433;User Id=databaseuser;Password=databaseuser_123;Database=db123;
Server=127.0.0.1;Port=5433;User Id=databaseuser;Password=databaseuser_123;Database=db123;
Server=10.223.132.123;Port=5433;User Id=databaseuser;Password=databaseuser_123;Database=db123;
最后一个是本地机器的 IP 地址。
这是程序在 Win 7 上连接和断开服务器的简短日志:
//连接
2012-08-27 11:26:00 EST ERROR: relation "db_events" does not exist at character 13
2012-08-27 11:26:00 EST STATEMENT: DELETE FROM "db_events"; DELETE FROM "db_events_counts";
2012-08-27 12:52:29 EST ERROR: relation "db_events" does not exist at character 13
2012-08-27 12:52:29 EST STATEMENT: INSERT INTO "db_events" VALUES ('114','1','2','1', to_timestamp('2012/08/27 12:52:29', 'YYYY/MM/DD HH24:MI:SS'),'2012', '8', '27', '12', '52', '29', '35' );
//断开连接
2012-08-27 11:26:07 EST LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2012-08-27 11:26:07 EST LOG: unexpected EOF on client connection
最佳答案
这里看到的奇怪和不稳定的行为以及评论中的讨论表明系统目录(在 pg_catalog
架构中)可能已被直接修改 - 可能是对 REVOKE
的尝试一些权限。
这不是个好主意。系统目录实际上只能由专家修改。这是只有 super 用户帐户才能直接修改它们的原因之一,也是您不应在日常操作中使用 super 用户帐户的众多原因之一。
除非您确切地知道做了什么并且可以撤消它,否则我建议恢复到数据库的工作副本,就像您已知良好的 XP 机器上的副本一样。 GRANT
正在访问 public
在 pg_catalog
听起来很有帮助,但谁知道还做了什么。
如果这是我的数据库,我会选择 pg_dump
每个数据库和一个 pg_dumpall --globals-only
并将其恢复到备用数据库以确保它看起来完整。然后我会停止 Pg 并重新初始化数据库。不过,这在 Windows 上有点麻烦,因此您只需备份损坏的数据库就可以了,DROP
ping 它,重新创建它并将数据恢复到其中。
关于c# - 带有 Npgsql "relation <tablename> does not exist."的 Postgresql 仅出现在 Win 7 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135177/
如果没有正确设置项目,总会出现这样的错误: 无法加载文件或程序集“Npgsql,版本 = 3.1.2.0,文化 = 中立,PublicKeyToken = 5d8b90d52f46fda7”或其依赖项
我正在尝试将 TransactionScope 与 Npgsql 提供程序一起使用。 我在一个旧问题 ( provider for PostgreSQL in .net with support fo
添加到我的 vs2015 update 3 安装中。到一个全新的控制台项目。 Attempting to gather dependency information for package 'Npgs
我正在尝试将数据从 PostgreSQL 数据库获取到 PowerBI Desktop,但似乎不起作用。我认为问题出在 npgsql 的安装上。当尝试在 PowerBI 中设置新的数据库连接时,我输入
我是 C# 的新手。我在下面的 .UseNpgsql(string connectionString) 上看到了一些红色波浪线(错误下划线)。悬停错误告诉我,我可能没有使用正确的 using 语句。
我正在使用 NLog4.1 版本进行日志记录。 我的“NLog.config”看起来像: PRODUCTION INSERT INTO "MY"."LOG_TABL
我有一个使用 PostgreSQL 并使用 Npgsql 作为数据驱动程序的 ASP.NET 应用程序。我时不时地收到这个错误: Could not load file or assembly 'Np
我正在尝试从 NPGSQL v2.0.11 迁移到 v3.1.7 但是在我的代码中我正在访问 NpgsqlException 的代码属性。在 3.1.7 中,这已经消失了;我现在如何从 postgre
我想将现有的事件实现替换为可以在事件进入时处理事件的实现,如有必要,可以同时处理。不幸的是,我以前从未实现过任何类型的并发,但必须从某个地方开始,嗯? 我一直在阅读 Functional Reacti
当我在我的连接字符串中使用 Pooling=True 时,出现错误“无法在恢复期间执行不监听”。 此错误发生在热备运行的复制/读取服务器上。 最佳答案 这在 3.2.7 版本中仍然存在。应该可以在热备
背景:我正在将我的应用程序从 mssql 移动到 npgsql v2.0.11.92。 运行我的应用程序几分钟或几小时后,我得到一个 System.Exception:从池中获取连接时超时 . 我在
我目前正在开发一个具有 PostgreSQL 后端的 .Net 应用程序。我正在使用 NpgSQL 来连接两者。当我尝试进行简单的数据检索时,NpgSQL 返回以下错误: 42601: syntax
我正在尝试将 Postgres 中的 timestamp[] 字段类型与 NPGSQL 一起使用,这样我就可以在我的 Entity Framework 模型中使用 DateTime[] 类型。 我已将
我使用 PostgreSQL/NpgSQL 将 c# 桌面应用程序连接到 PostgreSQL 数据库。第一个任务是返回我数据库中的所有表名,这工作正常。根据这个结果,我想获取每个表的所有列名。但问题
我们正在为多人游戏开发数据库后端。服务器用 C# 编写,并通过 Npgsql 与 Postgres 数据库对话。 现在,手册展示了如何使用准备好的语句: NpgsqlCommand command =
这可能与我在 FNH 遇到的其他问题有某种联系。 Fluent NHibernate cannot load MySql.Data from GAC in debug mode of a test 通
我无法在程序启动时可靠地检查 NET/Npgsql 中的数据库是否存在。 代码如下: Public Function dbExists(ByVal _dbName As String) As Bool
我编写了一个基本脚本,可将数据从 PostgreSQL 数据库同步到另一个系统,该脚本在我的测试/开发环境中执行时没有问题,使用: PostgreSQL 9.4 Npgsql dll 版本 3.0.3
这是手册中给出的示例。当我尝试同样的操作时,我得到了无数的异常(exception)。这有什么错误。 using(NpgsqlConnection conn = new NpgsqlConnectio
我正在尝试创建一个包含文件路径的记录。使用 NpqSQL 驱动程序插入启用 UTF8 的 Postgres 数据库。 我的表格定义: CREATE TABLE images ( id seri
我是一名优秀的程序员,十分优秀!