我们正在开发一个数据迁移项目,其中源数据库和目标数据库是MySql(版本:5.0.45-community-nt)。
目前,源数据库和目标数据库都托管在我的本地计算机上(Windows XP SP2)。
我们正在使用一种名为“Pentaho spoon”的工具来编写用于迁移的ETL脚本。勺子转换将数据提取并加载到目标数据库中。
转换是一组选择和插入步骤。
问题:
执行脚本会导致转换中的select语句出现以下错误:
无法创建/写入文件'C:\ Program Files \ MySQL \ MySQL Server 5.0 \ Data#sql_29c_0.MYI'(错误代码:17)
ErrCode 17指的是:操作系统错误代码17:文件存在
注意到在运行时目录中创建了一些以#sql_29c_0.MYI,#sql_29c_0.MYD格式命名的随机临时文件:C:\ Program Files \ MySQL \ MySQL Server 5.0 \ Data并删除这些文件在进程中并使用相同的名称创建。
Pentaho spoon使用多线程执行转换。
有没有人遇到这个问题?解决上述错误的任何指针都会有所帮助。
如果有任何关于错误的更多信息,请告诉我。
由于
编辑(8月27日至10日):
提供有关此错误的更多信息:
勺子转换有一个步骤,它获取6000行,然后这些行中的每一行进一步用于涉及两个表的连接的其他查询中。此连接查询失败,出现上述错误 - Errcode 17。
答案 0 :(得分:0)
解决方案很简单。
转到temp
下的C:\Program Files\MySQL\MySQL Server 5.0\
文件夹,然后删除Data#sql_29c_0.MYI
。
全部完成。
答案 1 :(得分:0)
在我的情况下,错误Data#sql_###
被指定到我服务器中的目录c:\Windows\Temp
。
我删除了临时文件,然后错误消失了。