0

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

每次我尝试运行包时,都会收到以下消息:“输出列“LastNameFirst”(12)”的长度无效。长度必须在 0 到 4000 之间。

我不完全理解这个错误,但在 ODBC 的文档中: http ://www.filemaker.com/downloads/pdf/fm9_odbc_jdbc_guide_en.pdf (第 47 页)它指出:

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

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

有什么建议么?

4

2 回答 2

1

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

- 在 filemaker 中,将数据导出到 CSV - 在 excel 中打开 CSV - 双击 LastNameFirst 列以最大化其宽度 - 向下滚动直到看到列“#########” - excel 指示的方式数据太大而无法显示。

我确信有更好的方法,我很想听听!

于 2009-12-07T14:09:02.770 回答
0

You should use this:

nvarchar (max)
于 2009-12-02T22:25:15.807 回答