2009-12-02 96 views
0

我正在使用SSIS并试图将数据从Filelmaker导入到SQL Server中。在解决方案资源管理器中,右键单击“SSIS包”并选择“SQL Server导入和导出向导”。在此过程中,我使用DSN作为源,SQL Server作为目标,使用有效查询从Filemaker ,并设置映射Filemaker通过SSIS到SQL Server

每次我尝试运行该程序包时,都会收到以下消息: “输出列”LastNameFirst“(12)”的长度不是valide,长度必须介于0〜4000

我完全不明白这个错误,但对于ODBC文档中: http://www.filemaker.com/downloads/pdf/fm9_odbc_jdbc_guide_en.pdf(第47页),它规定:

“m个除非您为FileMaker中的文本字段指定较小的最大字符数,否则文本的最小列长度为1百万个字符。 FileMaker将空字符串返回为NULL。“

我想在尝试将其转换为varchar时数据类型太大,但即使使用SUBSTR查询(LastNameFirst,1,2000)后,我也得到?同样的错误

任何建议

回答

0

你应该使用这样的:

nvarchar (max) 
+0

是的,试过了。我没有工作。 – TexasT 2009-12-04 14:15:27

1

我有这个问题,不知道原因,但这些都是我用来查找违规行的步骤:

-in filemaker,将数据导出为CSV - 在excel中打开CSV - 双击LastNameFirst列以最大化其宽度 - 向下滚动,直到您看到一列'#########' - excel表示数据太大而无法显示。

我相信这是更好的方法,我很乐意听到它!

+0

我不确定这会起作用,因为无论我使用哪个文本字段,它都会执行相同的操作。我无法想象每个文本字段类型中都有非常长的数据。我想我可能会让管理员将数据类型更改为具有最大字符限制,而不是接受Filemaker设置的默认值。这甚至是有道理的(我对Filemaker一无所知)? – TexasT 2009-12-08 15:35:30

+0

我也不知道文件制作者。我无法解释原因,但它对我有用。 – simon831 2009-12-09 13:48:41