首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有Npgsql的Postgresql“关系<tablename>不存在。”仅在Win 7上发生

带有Npgsql的Postgresql“关系<tablename>不存在。”仅在Win 7上发生
EN

Stack Overflow用户
提问于 2012-08-27 08:53:51
回答 3查看 16.7K关注 0票数 7

在使用.NET 3.5中的Npgsql (2.0.11和2.0.11.94) DLL使用Postgresql时,我遇到了一个非常奇怪的bug。

我已经创建了一个程序来运行这两个查询(这两个查询是直接从程序输出中复制的):

代码语言:javascript
复制
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和Postgres8.4.12和9.0.9上运行得很好,并且可以按照需要将数据输入到表中。

但是,在Windows 7上运行完全相同的程序时,如果数据库的设置方式与Windows XP数据库完全相同,我就会遇到以下错误:

代码语言:javascript
复制
ERROR: 42P01: relation "db_events" does not exist

我读到这个错误是因为postgres强制表名称为小写,这很好,因为它们已经是小写了。或者,使用引号创建的表必须使用引号引用,这也没有问题,因为我使用的是引号。

在Windows7数据库中,如果我将这两个查询复制并粘贴到pgadmin中,它们工作正常,没有错误,这让我相信这与DLL有关?

不合理的是,这个程序在我的Windows XP系统上运行时没有bug,而在Windows 7上却不断抛出这个错误。

我还尝试了一个简单的delete语句:

代码语言:javascript
复制
DELETE FROM "db_events"; DELETE FROM "db_events_counts";

但这也以同样的错误结束。

我是不是遗漏了什么?Npgsql是否需要在与运行时相同的windows环境中编译?或者,windows7和带有postgres的windows XP之间有什么细微的区别,而我却不明白。

任何关于这个主题的帮助或信息都将不胜感激。

由于关于连接的问题,以下是我尝试过的:

代码语言:javascript
复制
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上该程序与服务器连接和断开连接的简短日志:

//正在连接中

代码语言:javascript
复制
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' );

//断开连接

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12135177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档