我正在创建SSIS包,以便将数据从FileMaker 19.2.2导入SQL Server 2019。我已经设置了32位ODBC以连接到Layout,并且可以在SSIS源编辑器中访问源系统并查看示例数据而不会出现问题。我已经将ODBC源映射到OLE DB SQL Server目标,并插入了数据转换步骤,现在只能加载四个测试列中的一个。继续获取数据类型错误,如下所示。
是否有人成功创建SSIS包以从FileMaker中提取数据?这不应该那么难。我希望有人能帮忙。
[OLE DB Destination[436]]错误:为"设置绑定时出错;NameFirst;柱绑定状态为";DT_NTEXT";。数据流列类型是";DBBINDSTATUS_UNSUPPORTEDCONVERSION";。从OLE DB类型的";"DBTYPE_;目的地列类型为"0";WVARCHAR"DBTYPE_;此提供程序可能不支持。
[OLE DB Destination[436]]错误:为"设置绑定时出错;NameLast;柱绑定状态为";DT_NTEXT";。
[OLE DB Destination[436]]错误:SSIS错误代码DTS_E_OLEDBERROR。出现OLE DB错误。错误代码:0x80004005。OLE DB记录可用。来源:"Microsoft SQL Server Native Client 11.0";Hresult:0x80004005描述:";强制转换规范"的字符值无效;。OLE DB记录可用。来源:"Microsoft SQL Server Native Client 11.0";Hresult:0x80004005描述:";无效的日期格式"。
这是我试图加载的源元数据。
[在此输入图像描述][1]
Name Data Type Precision Scale Length Code Page Sort Key Position Comparison Flags Source Component
Created DT_DBTIMESTAMP 0 0 0 0 0 ODBC Source
KeyEmployee DT_TEXT 0 0 0 1252 0 ODBC Source
Modified DT_DBTIMESTAMP 0 0 0 0 0 ODBC Source
NameFirst DT_TEXT 0 0 0 1252 0 ODBC Source
NameLast DT_TEXT 0 0 0 1252 0 ODBC Source
EmployeeID DT_TEXT 0 0 0 1252 0 ODBC Source
EmploymentDate DT_DBDATE 0 0 0 0 0 ODBC Source
好的,所以经过多次尝试和错误,我能够将所有FileMaker数据提取到一个文本文件中。然后,我创建了一个额外的控制流,通过创建一个派生列来连接名字和姓氏,并添加数据转换派生Employee列,将文本文件加载到SQL数据库中。在SQL方面,我将列转换为nvarchar(50(。在某些情况下,对于文本数据,我不得不再次使用nvarchar(max(,这需要大量的尝试和错误。对于数值列,我将它们定义为浮点。日期时间列不需要特殊处理。我希望这可能对其他可能在从FileMaker中提取数据时遇到困难的人有所帮助。