关于将txt文本导入sql

lhw7791086 2013-05-27 11:23:38
现有一大量数据的txt文本,其中数据是这样的:
1 222
333 222 1
1
22 31
12
12 54 276
123 2 4
...
...
每行最多3个数据
新建了一个表,表名CRC,3列,每列对应txt中的一列,没有的话就空着。
导入时使用:
bulk insert CRC from 'C:\Users\ACER\Desktop\CRC16\512test.txt' with (FIELDTERMINATOR=' ',ROWTERMINATOR='\n')

提示:消息 4860,级别 16,状态 1,第 1 行
无法进行大容量加载。文件 "C:\Users\ACER\Desktop\CRC16\512test.txt" 不存在。
难道是路径有问题吗?新手刚接触SQL,请教老师们。
...全文
342 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack15850798154 2013-05-27
  • 打赏
  • 举报
回复
参考一下这个吧,希望对你有帮助

/******* 导出到excel */
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:/temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' 

/*********** 导入Excel */
SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 

/*动态文件名 
declare @fn varchar(20),@s varchar(1000) 
set @fn = 'c:/test.xls' 
set @s ='''Microsoft.Jet.OLEDB.4.0'', 
''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0''' 
set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$' 
exec(@s) 
*/ 

SELECT cast(cast(科目编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 

/********************** EXCEL导到远程SQL */
insert OPENDATASOURCE( 
'SQLOLEDB', 
'Data Source=远程ip;User ID=sa;Password=密码' 
).库名.dbo.表名 (列名1,列名2) 
SELECT 列名1,列名2 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="c:/test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions 


/** 导入文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:/DT.txt -c -Sservername -Usa -Ppassword' 

/** 导出文本文件 */
EXEC master..xp_cmdshell 'bcp dbname..tablename out c:/DT.txt -c -Sservername -Usa -Ppassword' 
或 
EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:/DT.txt -c -Sservername -Usa -Ppassword' 

/**导出到TXT文本,用逗号分开*/ 
exec master..xp_cmdshell 'bcp "库名..表名" out "d:/tt.txt" -c -t ,-U sa -P password' 


BULK INSERT 库名..表名 
FROM 'c:/test.txt' 
WITH ( 
FIELDTERMINATOR = ';', 
ROWTERMINATOR = '/n' 
) 


--/* dBase IV文件 
select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0' 
,'dBase IV;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料4.dbf]') 
--*/ 

--/* dBase III文件 
select * from 
OPENROWSET('MICROSOFT.JET.OLEDB.4.0' 
,'dBase III;HDR=NO;IMEX=2;DATABASE=C:/','select * from [客户资料3.dbf]') 
--*/ 

--/* FoxPro 数据库 
select * from openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/', 
'select * from [aa.DBF]') 
--*/ 

/**************导入DBF文件****************/ 
select * from openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver; 
SourceDB=e:/VFP98/data; 
SourceType=DBF', 
'select * from customer where country != "USA" order by country') 
go 
/***************** 导出到DBF ************** 
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句 */

insert into openrowset('MSDASQL', 
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:/', 
'select * from [aa.DBF]') 
select * from 表 

/*说明: 
SourceDB=c:/ 指定foxpro表所在的文件夹 
aa.DBF 指定foxpro表的文件名. */


/*************导出到Access********************/ 
insert into openrowset('Microsoft.Jet.OLEDB.4.0', 
'x:/A.mdb';'admin';'',A表) select * from 数据库名..B表 

/*************导入Access********************/ 
insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0', 
'x:/A.mdb';'admin';'',A表) 

/*文件名为参数*/  
declare @fname varchar(20) 
set @fname = 'd:/test.mdb' 
exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'', 
'''+@fname+''';''admin'';'''', topics) as a ') 

SELECT * 
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
'Data Source="f:/northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...产品
lhw7791086 2013-05-27
  • 打赏
  • 举报
回复
将后缀名txt去掉后又提示:消息 4861,级别 16,状态 1,第 1 行 由于无法打开文件 "C:\Users\ACER\Desktop\CRC16\512test",无法进行大容量加载。操作系统错误代码为 5(拒绝访问。)。 权限应该没有问题的,完全控制不知道这个和txt文件大小有没有关系?有200多mb
奔四在望 2013-05-27
  • 打赏
  • 举报
回复
...直接右键任务----导入数据--数据源选择平面文件源 就可以了啊

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧