csv 导入 sqlserver 的数据类型问题

在将CSV文件导入SQL Server时,数字字段超过int范围会被读为null。解决办法是在CSV文件同一目录下创建Schema.ini文件,指定字段格式。例如,为文本文件Contacts.txt创建Schema.ini,定义每列的数据类型,如日期格式'Date YYYY-MM-DD'。通过DoCmd.TransferText使用Schema.ini导入数据,避免类型错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到一个问题,把scv导入数据库时,数字的被自动认为是int,然而超过int范围的值统统被读成null进表。

 

解决办法是在csv文件下,创建一个名为Schema.ini的文件。格式如下:

 

 

 

Schema.ini格式如下(参考:MSDN主题 Schema.ini File):

Schema.ini用于提供文本数据中的记录规格信息。每个Schema.ini的条目用于指明表的5个特征之一:

文本文件名
文件名有方括号括起来,例如如果要对Sample.txt使用Schema,那么它的对应的Schema条目应该是

[Sample.txt]

文件格式
指令如下:

Format=Value

Value可以取下面的值之一:

TabDelimited 用Tab分隔

CSVDelimited 用逗号分隔

FixedLength 固定长度

Delimited(C) 指定字符,其中C可以为除了双引号(")外的任何字符,也可以为空

字段名、字段宽度和类型
格式为:Coln=字段名 数据类型 [width 宽度]

字段名可以是任意字符,如果字段名包含空格,请使用双引号括起来。

数据类型可以为:

Bit

Byte

Short(Integer)

Long

Currency

Single

Double(Float)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值