0

我们正在做一个数据迁移项目,其中源数据库和目标数据库都是 MySql(版本:5.0.45-community-nt)。

目前,源数据库和目标数据库都托管在我的本地计算机(Windows XP SP2)上。

我们正在使用一个名为“Pentaho spoon”的工具来编写用于迁移的 ETL 脚本。勺子转换获取数据并将其加载到目标数据库中。

转换是一组选择和插入步骤。

问题 :

对于转换中的选择语句,脚本的执行会引发以下错误:

Can't create/write to file 'C:\Program Files\MySQL\MySQL Server 5.0\Data\#sql_29c_0.MYI' (Errcode: 17)

ErrCode 17 指:操作系统错误代码17:文件存在

注意到在目录中创建了一些以 format 命名的随机临时文件#sql_29c_0.MYI#sql_29c_0.MYDC:\Program Files\MySQL\MySQL Server 5.0\Data运行时,这些文件在进程中被删除并以相同的名称创建。

Pentaho 勺子使用多线程来执行转换。

有没有人遇到过这个问题?解决上述错误的任何指示都会有所帮助。

如果需要有关该错误的任何进一步信息,请告诉我。

谢谢

编辑(8 月 27 日至 10 日):

要提供有关此错误的更多信息:

勺子转换有一个获取 6000 行的步骤,然后这些行中的每一行都进一步用于涉及两个表连接的其他查询中。此连接查询因上述错误而失败 - Errcode 17

4

2 回答 2

0

在我的情况下,错误Data#sql_###指定给c:\Windows\Temp我的服务器中的目录。

我删除了临时文件,然后错误消失了。

于 2015-02-23T18:46:45.277 回答
0

解决方法很简单。

转到temp下的文件夹,C:\Program Files\MySQL\MySQL Server 5.0\然后简单地删除Data#sql_29c_0.MYI.

全部完成。

于 2012-10-10T21:12:51.760 回答