我一直使用 Pentaho Kettle 5.1 版将 Excel 数据传输到 SQL,方法是按照以下步骤操作(回答者埃德加):
- 启动 Pentaho Kettle。
- (通常)单击“无存储库”。
- 创建一个新的转换。
- 在左侧,您将看到几个“块”。在这种情况下,将“Excel 输入”块从“输入”类别拖到您的转换文件中。
- 双击刚刚拖动的块。接下来的步骤参考此块:
- 单击“浏览”并选择要导入的 Excel 文件。
- 单击“添加”(位于“浏览”按钮左侧)。您应该看到文件列在下面的“选定文件”列表中。
- 现在转到“!Sheets”选项卡(应该是第二个选项卡)并选择包含要导入数据库的数据的工作表。
- 最后,转到“!字段”选项卡(应该是右边的最后一个),单击标有“从标题行获取字段......”的按钮,并相应地更改不同的数据类型。
- 单击标有“预览行”的按钮以确保一切正常。
- 现在,让我们将这些数据移动到您的 SQL 数据库。为简单起见,我将描述如何在数据库上创建新表。但是,请注意,Kettle 提供了用于处理更新和“插入/更新”任务的块。
- 再次从左侧拖出一个块。这次转到“输出”部分并选择“表格输出”。
- 按住Shift键并将鼠标指针从 Excel 拖到“表格输出”块,连接两个块。接下来的步骤与“表格输出”块相关。
- 首先,我们需要建立与数据库的连接。为此,请单击“连接”下拉框旁边的“新建...”按钮。
- 在“连接类型”列表中,选择“MySQL”(如您所见,Kettle 允许您连接大量不同的数据库)。填写所有适当的字段,并记得单击“测试”以确保通信正常。
- 输入表的名称。
- 转到标有“数据库字段”的选项卡并选择“输入字段映射”。从这里确保将流中的所有 Excel 列映射到适当的 MySQL 字段,然后单击“确定”。(如果 Excel 中的名称与您的表匹配,您只需单击“猜测”即可接近。)
- 最后,保存转换并通过选择“转换>运行”菜单来运行它。如果一切顺利,您应该会在“日志”选项卡下的执行框中看到一条消息,上面写着“转换已完成”。
祝你好运!
但是,我无法完成步骤 8,因为出现以下错误消息:
我无法连接到数据库来验证表的状态:确定 SQL 布局后无法关闭准备好的语句。您的 SQL 语法有误;请查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行“OPTION SQL_SELECT_LIMIT=DEFAULT”附近使用的正确语法
我目前使用的是 MySQL Server 版本 5.6 和 MySQL Workbench 版本 6.1。我该如何解决此错误?由于这个问题,我无法继续完成我们的论文。
答案1
您面临的问题是使用不匹配(或)较旧的MySQL 连接器/J,检查您是否正在使用最新的mysql-connector-java-x.x.xx-bin.jar
?
在我的情况下,我使用的是 MySQL Server 5.6,MySQL 连接器是“mysql-connector-java-5.1.42-bin.jar”
- 下载最新的 MySQL Java 连接器/驱动程序
- 解压 zip 文件
- 复制 .jar 文件并将其粘贴到您的 Lib 文件夹中:
电脑:C:\Program Files\pentaho\design-tools\data-integration\lib
Mac:/应用程序/数据集成/lib
重新启动 Pentaho(数据集成)并运行转换。