文本文件导入SQL数据库的问题 我把文本文件(来源于UCI)用SQL的“导入数据”功能导入后,SQL数据库中表的每一列类型都是VARCHAR型,请问这是怎么回事?怎样才能使导入后的表有正常的数据格式,比如int,float等?多谢指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先生成格式文件(运行不带-c参数的BCP得到),然后运行BCP 带上:-f format_file指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。 先生成格式文件(运行不带-c参数的BCP得到),然后运行BCP 带上:-f format_file指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。什么是BCP?怎么你说的我一点看不懂啊 刚才又试了一下,可以手动转换数据类型那请问一下,SQL SERVER 对文本文件的数据导入时能不能自动转换类型? 如果是sql 2005, 则导入的时候源数据类型选择"平面文件源", 然后在数据源的高级设置中, 可以为每个列设置列名及类型.2000似乎只有导入后再调整, 或者是自己先建表 楼主可以试使用BULK INSERT的方法,如:BULK INSERT JieYi_B..Test FROM 'c:\test.txt'WITH ( DATAFILETYPE = 'char', FIELDTERMINATOR ='\t', ROWTERMINATOR = '\n')--(所影响的行数为 7 行)/*test.txt文件内容:----------------------------------------B077 曾翠兰 512942821117231 B183 艾丽红 432902820731842 B171 刘波 511303198402015000 B219 谢晓燕 511225198308240000 B249 江玉芬 450922196705073000 B032 李德祥 450922198802103000 B044 李雪梅 510923198906012000 ----------------------------------------test表结构:EmployeeCode nvarchar(20)ChineseName nvarchar(50)D bigint*/ 刚才又试了一下,可以手动转换数据类型那请问一下,SQL SERVER 对文本文件的数据导入时能不能自动转换类型?可以建立好数据表,再使用BULK INSERT方法导入,只要预先的类型正确,转换是没问题的。 如何汇总? [疑难问题]我不会说,举个例子,您一看就明白了? SQL Server 2005的更新程序无法删除 请教个查询重复数据的问题 100分求使用SQL实现一个比较复杂的统计问题,请来看看... 刚整理出来的日期函数和字符函数及例子,供大家分享!请大家给点意见。 还是关于日志文件 在企业管理器里有一个把存储过程的代码导出的功能,请问这种功能怎么用代码实现? 有关Oracle8.0.5的简单问题,请多帮忙! SQL group by ntext类型不可分组 SQL查询某字段非空的记录 高分求一条触发器(在线等)
然后运行BCP 带上:-f format_file指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。
然后运行BCP 带上:-f format_file指定格式文件的完整路径,该格式文件包含以前在同一个表或视图上使用 bcp 时的存储响应。当使用由 format 选项所创建的格式文件大容量复制入或复制出数据时,使用此选项。格式文件的创建是可选的。在提示几个格式问题之后,bcp 将提示是否在格式文件中保存回答。默认文件名为 Bcp.fmt。大容量复制数据时,bcp 可引用一个格式文件,因此不必重新交互输入以前的回答。如果未使用此选项,也没有指定 –n、-c、-w、-6 或 -N,则 bcp 将提示输入格式信息。什么是BCP?怎么你说的我一点看不懂啊
那请问一下,SQL SERVER 对文本文件的数据导入时能不能自动转换类型?
2000似乎只有导入后再调整, 或者是自己先建表
BULK INSERT JieYi_B..Test FROM 'c:\test.txt'
WITH (
DATAFILETYPE = 'char',
FIELDTERMINATOR ='\t',
ROWTERMINATOR = '\n'
)
--(所影响的行数为 7 行)
/*
test.txt文件内容:
----------------------------------------
B077 曾翠兰 512942821117231
B183 艾丽红 432902820731842
B171 刘波 511303198402015000
B219 谢晓燕 511225198308240000
B249 江玉芬 450922196705073000
B032 李德祥 450922198802103000
B044 李雪梅 510923198906012000
----------------------------------------
test表结构:
EmployeeCode nvarchar(20)
ChineseName nvarchar(50)
D bigint
*/
那请问一下,SQL SERVER 对文本文件的数据导入时能不能自动转换类型?可以建立好数据表,再使用BULK INSERT方法导入,只要预先的类型正确,转换是没问题的。