关于Sql导入数据问题

muhan2008 2005-03-08 03:28:41
现在我想把Excel、Txt、CSV等文件导入到数据库。
我的当前环境为:
数据库和库内的所有数据表的结构都完成,CSV(Excel、Txt)数据也准备好了,我采用的是:
bulk insert abcde
from '\\server\d$\ToDatabase\abcde.csv'
语法出现如下错误:
服务器: 消息 4832,级别 16,状态 1,行 1
大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'STREAM' 报错。提供程序未给出有关错误的任何信息。
OLE DB 错误跟踪[OLE/DB Provider 'STREAM' IRowset::GetNextRows returned 0x80004005: 提供程序未给出有关错误的任何信息。]。
语句已终止。

现在问题是:
1、如何解决上面的错误?
2、如何解决保证abcde.csv数据和数据表abcde的数据类型相同?也就是说有没有这样一种算法,把abcde.csv数据取出,然后把abcde.csv数据字段转换成abcde表字段所需要的数据的格式,然后导入数据。

当然不一定非要用bulk insert语法,也可以使用其它语法导入,多多益善,先谢谢了。

...全文
244 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
muhan2008 2005-03-18
  • 打赏
  • 举报
回复
select 字段名=name from syscolumns where id=object_id('TableName')
muhan2008 2005-03-18
  • 打赏
  • 举报
回复
select 字段名=name from syscolumns where id=2064114494
select 字段名=name from syscolumns where id=object_id('TableName')


select id=object_name(7671075)

select * from ExpensesSummary2
muhan2008 2005-03-18
  • 打赏
  • 举报
回复
还有:)
假如说:

我的abcde表结构是:

hried int 4
hrAppraisalTypen char 20
hrGradedDate datetime 8
hrComputen char 10
hrPayCode float 8
hrApRemark ntext 16
hrInputDate datetime 8
hrAutoID uniqueidentifier 16
hrFinalApprv bit 1

请问如何用
bulk insert abcde
from '\\server\d$\ToDatabase\abcde.csv'
with
(
datafiletype='widechar';
....
)
语句把我的要求写出来?

还有,有什么语句可以把表的字段名用Sql语句列举出来.实例参考表abcde结构,写SQL语句查询出的结果如下:

tablename
------------------
hried
hrAppraisalType
hrGradedDate
hrComputen
hrPayCode
hrApRemark
hrInputDate
hrAutoID
hrFinalApprv
thinkoversky 2005-03-09
  • 打赏
  • 举报
回复
你的问题我也遇到过
提示:“大容量插入: 在数据文件中遇到意外的文件结尾 (EOF)。”时,可能是你的数据文件有非法字符,你最好不要手动加数据
muhan2008 2005-03-08
  • 打赏
  • 举报
回复
在线等了,加急!!!!!!!!
muhan2008 2005-03-08
  • 打赏
  • 举报
回复
还有:)
假如说:

我的abcde表结构是:

hried int 4
hrAppraisalTypen char 20
hrGradedDate datetime 8
hrComputen char 10
hrPayCode float 8
hrApRemark ntext 16
hrInputDate datetime 8
hrAutoID uniqueidentifier 16
hrFinalApprv bit 1

请问如何用
bulk insert abcde
from '\\server\d$\ToDatabase\abcde.csv'
with
(
datafiletype='widechar';
....
)
语句把我的要求写出来?

还有,有什么语句可以把表的字段名用Sql语句列举出来.实例参考表abcde结构,写SQL语句查询出的结果如下:

tablename
------------------
hried
hrAppraisalType
hrGradedDate
hrComputen
hrPayCode
hrApRemark
hrInputDate
hrAutoID
hrFinalApprv
muhan2008 2005-03-08
  • 打赏
  • 举报
回复
还有:)
假如说:

我的abcde表结构是:

hried int 4
hrAppraisalType nchar 20 1
hrGradedDate datetime 8 1
hrCompute n char 10 1
hrPayCode float 8 1
hrApRemark ntext 16 1
hrInputDate datetime 8 1
hrAutoID uniqueidentifier 16 1
hrFinalApprv bit 1

请问如何用:
bulk insert abcde
from '\\server\d$\ToDatabase\abcde.csv'
with
(
datafiletype='widechar';
....
)
描述出来?

还有,有什么语句可以把表的字段名用Sql语句列举出来.实例参考表abcde结构,写SQL语句查询出的结果如下:

tablename
------------------
hried
hrAppraisalType
hrGradedDate
hrCompute n
hrPayCode
hrApRemark
hrInputDate
hrAutoID
hrFinalApprv


Softlee81307 2005-03-08
  • 打赏
  • 举报
回复
上面打錯了,是可以,
bulk insert abcde
from '\\server\d$\ToDatabase\abcde.csv'
with
(
datafiletype='widechar';
....
)
Softlee81307 2005-03-08
  • 打赏
  • 举报
回复
'\\server\d$\ToDatabase\abcde.csv'
這裡不可以是綱絡上的文件

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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