从 CSV 文件导入数据时,为什么会出现此 DBeaver 错误?

Mac*_*ton 6 python csv postgresql dbeaver

我是一名学生,正在做一个项目。前提是,我正在开发的这个程序将学生注册的天数 (MF)、他们每天注册的小时数以及他们注册的课程作为输入。然后,它查询 PostgreSQL每个模块的进度小时数(作业应花费多长时间的“面值”)的数据库,并运行算法,输出学生应该争取的大致截止日期,以便在规定时间内完成课程截止日期(针对整个课程而不是针对个人作业设定)。

\n

现在,我过去已经让数据库正常工作了,但对于下一个可交付成果,我正在彻底修改该程序,以添加对学生选择课程的支持,然后该课程将使用适当的课程填充选项菜单。为此,我需要添加更多测试数据。在将其他 CSV 文件导入架构的过程中,出现错误:

\n
\n

无法加载实体属性

\n

原因:\n找不到目标属性[序列]

\n
\n

在 CSV 文件中,“Sequence\xe2\x80\x9d 是其中一列的名称。

\n

这个错误是什么意思?而且,我该如何解决这个问题?我查看了 CSV,我无法\xe2\x80\x99 发现任何明显错误;标题以及所有相关数据都在那里。理论上,我可以直接在 DBeaver 中使用 CSV 文件创建连接,而不是将其数据导入数据库,并且我\xe2\x80\x99已经测试过这样做,并且它确实按预期工作,但是 Python 模块 I\xe2 \x80\x99m 用于查询数据库(psycopg2)\xe2\x80\x99t 似乎能够找到它,如果我这样做,而不是使用传统数据库(这就是我在改变我的数据库之前所做的)数据库)。

\n

编辑:为了回应 Adrian 的评论,CSV 数据示例如下:

\n
PK,Active,Sequence,Name,Number,Hours,Start Date,Stop Date,Modified When,Modified By\n183328,TRUE,1,ASP.NET Core Fundamentals,1,2.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183329,TRUE,2,F-Q1,2,3.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183330,TRUE,3,Assignment - Clock-in Station,3,5.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183331,TRUE,4,ASP.NET MVC Fundamentals,4,2.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183332,TRUE,5,MVC-Q1,5,3.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183333,TRUE,6,Wishlist Application,6,5.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183334,TRUE,7,ASP.NET Web APIs,7,2.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183335,TRUE,8,API-Q1,8,3.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183336,TRUE,9,Starchart API,9,5.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n183337,TRUE,10,Dependency Injection,10,2.00,07-01-2020,06-30-2299,06-12-2020 09:09:27 AM,Laraine.Moellendorf\n
Run Code Online (Sandbox Code Playgroud)\n

我不会将此数据导入到现有表中;相反,DBeaver 有一项功能,可以在没有现有表的情况下导入 CSV,并且将生成一个具有匹配字段标题和数据类型的表来放置数据。所以,我没有提供模式。

\n

产生错误的 DDL 如下:

\n
CREATE TABLE "Software Development".newtable (\n    pk integer NULL,\n    active boolean NULL,\n    "Sequence" integer NULL,\n    "name" varchar(32) NULL,\n    "Number" integer NULL,\n    hours real NULL,\n    "Start Date" varchar(10) NULL,\n    "Stop Date" varchar(10) NULL,\n    "Modified When" varchar(22) NULL,\n    "Modified By" varchar(19) NULL\n);\n
Run Code Online (Sandbox Code Playgroud)\n

为了回答 Adrian 的最后一个问题,DBeaver 可以直接链接到 CSV 文件,而不是将其数据导入数据库中的表中。这就是我所说的它不是“传统数据库”的意思。

\n

Mik*_*19x 7

这似乎是 dBeaver 21.1.4 的问题(https://github.com/dbeaver/dbeaver/issues/13542)。当前的解决方法是降级到以前的版本 (21.1.3)。

  • 100%验证,并在21.1.5版本上仍然重现 (2认同)

nev*_*ves 3

我已升级到 DDeaver 版本21.2.0,现在一切正常。我在尝试将查询导出到 SQLite 表时遇到错误。

所以解决办法就是升级DBeaver。