使用SQL查询文本文件会将大数字转换为NULL

时间:2012-06-12 09:28:10

标签: sql ado jet

我正在从文本文件导入数据并遇到麻烦。我有一个数字字段偶尔会有非常大的值(100亿+),其中一些值被转换为NULL。

经过进一步测试,我已将问题隔离如下 - 前25行数据用于确定字段大小,如果前25个值都不大,则抛出任何值> = 2,147,483,648(2 ^ 31)之后。

我正在使用ADO和以下连接字符串:     Provider = Microsoft.Jet.OLEDB.4.0; Data Source = FILE_ADDRESS; Extended Properties =“”text; HDR = YES; FMT = Delimited“”

因此,任何人都可以建议我如何解决这个问题而不必将源数据按大值列降序排序?有没有什么方法可以在导入之前定义记录集的数据类型,而不是让它自己决定?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用放置在要连接的目录中的INI文件来描述列类型。

详情请见此处:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms709353(v=vs.85).aspx