当前位置: 首页 > 知识库问答 >
问题:

Liquibase SQL更改集无法加载CSV文件:FileNotFoundException

沈琨
2023-03-14

对Liquibase变更集使用SQL样式方法(这是我们的codestyle,我们不使用XML),我试图使用以下SQL变更集加载CSV文件

SQL

-- changeset user:insert-prices-data-temp-table

LOAD DATA LOCAL INFILE 'foo/src/main/resources/liquibase/changelogs/2021/prices.csv'
INTO TABLE prices_temp
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES

主变更日志文件引用2021目录,其中SQL和CSV文件存在于同一目录中。

<includeAll path="liquibase/changelogs/2021/" filter="xml" errorIfMissingOrEmpty="true" />

我尝试了以下其他路径,但它们仍然产生一个FileNotFoundException

  • prices.csv
  • web-inf/classes/liquibase/changelogs/201/CCC-220-marking-time-prices.csv
  • (绝对路径)/home/xxxx/work/foo-service/foo/src/main/resources/liquibase/changelogs/2021/prices.csv

有什么办法解决这个问题吗?

共有1个答案

司空福
2023-03-14

问题是,您试图使用某个mysql函数load DATA LOCAL infile,该函数不知道您的类路径。它试图查看您的文件系统,但这样的路径并不存在。即使提供了yourapp.jar!liquibase/changelogs/2021/prices.csv,也无法读取该文件。您需要将prices.csv从应用程序中提取到文件系统,并将mysql函数指向该位置。
,如果有帮助,您也可以使用LiquiBase的loadData。

 类似资料:
  • 问题内容: 我是PostgresSQL的新手,我正尝试加载以下格式的数据: 记录超过1万,某些列可能包含NULL数据。当我尝试这样做时: 我收到以下错误:ERROR:最后一个预期的列SQL状态之后的多余数据:22P04 我已经检查了列,它们还可以。这意味着不会遗漏任何列。 希望有人能帮忙。提前谢谢。 问题答案: 应该是 对我有用

  • 我试图托管一个webproject,但是当服务器试图编译它时,我得到以下错误: 未处理的异常:System.io.FileLoadException:无法加载文件或程序集“Microsoft.codeAnalysis,版本=1.1.1.0,Culture=Neutrice,PublicKeyToken=31BF3856AD364E35”或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。(来

  • 我正在运行这个命令来使用map-reduce程序加载csv文件。它正在成功运行,但扫描hbase表时显示0行。 以下是执行过程的控制台日志数据:

  • 我是python编程/数据科学家领域的新手。我使用Pycharm和MacOs。出于学习目的,我从Kaggle下载了一些CSV文件,我总是能够将它们加载到Pycharm中。但实际上我无法从我的工作环境中加载csv文件,令人惊讶的是,我可以使用R函数'fread'加载该文件,但我的目标是将其加载到python中。请在下面查找代码和错误: 代码: 错误: “/Users/oscargonzalez-ll

  • 我在我的项目中使用的是umbraco 4.11.3。我的项目在Windows 7上运行良好,并在visual studio 2012上运行。但它在Win 8中从visual studio 2012运行时并不工作! 错误是: 无法加载文件或程序集“System.Web”。Mvc,Version=2.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e

  • 我是Spark的新手,我正在尝试使用Spark从文件中读取CSV数据。以下是我正在做的: 我希望这个调用会给我一个文件前两列的列表,但我遇到了以下错误: 索引器中第1行的文件“”:列表索引超出范围 虽然我的CSV文件不止一列。