我正在尝试使用Spoon将数据库从PostgreSQL数据库迁移到Sybase安装中。
我现在面临的问题是Sybase有这种模式,只要你想明确设置一个id就必须启用它。您必须执行命令SET IDENTITY_INSERT table_name ON
,这将启用插入指定当前连接的ID的数据。
是否可以设置转换以在“表输出”步骤之前执行该转换,使用将用于插入数据的相同连接?
或者我是以错误的方式接近这个?
答案 0 :(得分:2)
我遇到过这个问题很烦人。我最终做的是为每个具有要插入标识的表创建自定义连接定义。
在自定义连接定义中,有一个高级选项卡。在高级选项卡上,有一个空格可以输入自定义SQL,在连接后立即执行。将SET语句放在那里,然后在表输出步骤中选择该连接。
这是Sybase和MS SQL Server中常见的问题我应该把它作为功能请求发布给Pentaho。
布赖恩
答案 1 :(得分:0)
如果此ID用于数据仓库,您可能需要考虑使用{Dimension lookup / update}步骤(在Data Warehouse文件夹中)为您管理代理键。但是,此步骤不会选择性地添加行版本控制,如果您不需要它,这可能会很麻烦。
否则,也许您可以使用{Execute SQL script}步骤(内联或单独转换)来发出{SET}命令。