,如何把txt文本数据导入SQL Server2005数据库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了,如何把txt文本数据导入SQL Server2005数据库中相关的知识,希望对你有一定的参考价值。

参考技术A /**
导入文本文件
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'
)
参考技术B 1.先生成个空的csv文件(不要只是把txt文件的后缀改为csv,这样容易导致异常)
2.先把txt中各个项目的间隔符替换为刚才做成的csv文件的分隔符,再拷贝到做成的csv文件中
3.做一个bat,执行sql文,把文件读到数据库中
或者用SQL
Server2005自带的导入功能
吧txt文件直接拷贝到excel中容易出现数据不一致的问题(比如说日期等)
参考技术C 下面给出直接代码如下:
--第一步:启用Ad Hoc Distributed Queries:
exec sp_
configure
'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--第二步:bcp导入数据
EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'
--第三步:关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
参考技术D --第一步:启用ad
hoc
distributed
queries:
exec
sp_configure
'show
advanced
options',1
reconfigure
exec
sp_configure
'ad
hoc
distributed
queries',1
reconfigure
--第二步:bcp导入数据
exec
master..xp_cmdshell
'bcp
dbname..tablename
in
c:\dt.txt
-c
-sservername
-usa
-ppassword'
--第三步:关闭ad
hoc
distributed
queries:
exec
sp_configure
'ad
hoc
distributed
queries',0
reconfigure
exec
sp_configure
'show
advanced
options',0
reconfigure

如何将SQL Server备份文件导入现存数据库

SQL
Server本身有数据导入的操作。但如果要从一个备份的文件中导入数据,则要进行另外的操作。下面以一个例子进行说明。
  SQL
Server服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1.BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变。
  1、首先,在“SQL企业管理器”中新建一个临时数据库A1。
  2、右击A1数据库,选择:所有任务->还原数据库。
  3、在“还原数据库”窗口中,选择:“从设备”。
  4、点击“选择设备”。
  5、点击“添加”。
  6、从文件名中选择要还原的数据库文件,如A1.BAK。
  7、点击“确定”,返回“还原数据库”窗口。
  8、点击“选项”卡,进入选项设置。
  9、钩选:“在现有数据库上强制还原”。
  10、修改“移到物理文件名”为:“c:a1.ldf”、“c:a1.mdf”。
  11、点确定,即可导入备份文件中的数据到临时数据库A1中。
  12、此时,你可以将数据从A1导入到另外一真正要导入的数据库中,如DOE数据库。
  (下面的数据导入操作为SQL2000企业管理器的一般数据导入导出操作。)
  13、在“SQL企业管理器”中选择“DOE”数据库。
  14、右击DOE数据库,选择:所有任务->导入数据。
  15、在“DTS导入/导出向导”窗口的“选择数据源”中,数据源选择刚才建立并导入数据的临时数据库A1。点击下一步。
  16、在“选择目的”中,系统已经默认为DOE数据库。
  17、连续点击“下一步”,直到完成。
  经过上面的操作,你已经成功地将备份文件A1.BAK中数据导入DOE数据库中,并且DOE数据库原有数据不变。
参考技术A 在服务器上装上sql
server
2005,基本上装载时选择默认的就可以了。然后,关掉windows防火墙(最好设置一下),在数据库外围配置器中选择【服务和连接的外围应用配置器】,再选择【远程连接】
选择【本地连接和远程连接】,选择【同时使用
tcp/ip和named
pipes】。这个默认是不启用的。

以上是关于,如何把txt文本数据导入SQL Server2005数据库中的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2005导入数据时出错,导入的是TXT文本格式

如何用组态王软件把文本文件存入SQL server数据库?请高手指教!

Sql server bulk insert文本文件插入到数据库

java语言实现把txt文本文档里面的数据导入到SQL Server数据库的表中

把 Excel 文件导入 SQL Server 中出现大量的空列 如何不出现空列呢,或怎么迅速删除

SQL Server 2005 DTS导入平面数据源时(如txt文档),总是被截断,无法执行的错误解决方案