急!100分,CSV导入SQL,前面0不见了

Jachnicky 2006-01-13 04:43:39
各位,

我在ASP中用Microsoft.Jet.OOEDB;Datasource=c:\MyFolder\MyWorkbook.CSV;Extended Properties='Text;FMT=Delimited;HDR=YES';来读CSV文件,该文件其中有一栏用notepad打开时是0020031,但insert到SQL Server时是20031,前面00不见了,谁能告诉我什么原因呢?
...全文
361 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
taito 2006-01-14
  • 打赏
  • 举报
回复
大佬级的对话.帮你顶
Jachnicky 2006-01-13
  • 打赏
  • 举报
回复
net_lover(孟子E章) 兄电话是多少呢?我给你打电话如何?
Jachnicky 2006-01-13
  • 打赏
  • 举报
回复
是这样的,系统每Upload一个CSV文件,就用ASP把它Insert到SQL Server.文件名是一个流水号.再用流水号来找该文件.读出data来.第一次只读还没有insert的.
Jachnicky 2006-01-13
  • 打赏
  • 举报
回复
那str = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;HDR=Yes;FMT=Delimited';Data Source="& Server.Mappath(".") & "\"

系统会读哪一个CSV呢?
孟子E章 2006-01-13
  • 打赏
  • 举报
回复
可以写多个
[MyWorkbook.CSV]
ColNameHeader=True
Format=CSVDelimited

[MyWorkbook2.CSV]
ColNameHeader=True
Format=CSVDelimited
Jachnicky 2006-01-13
  • 打赏
  • 举报
回复
还有其他方法吗?因为在同一个文件夹里放有多个CSV文件,这样的话schema.ini就不好定义吧.str也就定义不了了吧.
Jachnicky 2006-01-13
  • 打赏
  • 举报
回复
net_lover(孟子E章)兄的方案可能可行,但这样比较麻烦,还有其他方法吗.因为每个月的CSV文件是会放在同一个文件夹的,这样的话schema.ini就不好定义了.str也不好定义吧.
竹林听雨2005 2006-01-13
  • 打赏
  • 举报
回复
哟?看到二级钻石级的人物了。
孟子E章 2006-01-13
  • 打赏
  • 举报
回复
解决办法:
Test.asp如下:

<%
str = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='text;HDR=Yes;FMT=Delimited';Data Source="& Server.Mappath(".") & "\"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open str
Set rs = cn.Execute("select * from MyWorkbook.CSV")
While Not rs.EOF
Response.Write rs(0) & "<br>"
rs.MoveNext
Wend
%>


MyWorkbook.CSV如下:
mxh,孟宪会
0001,002
0330,004

将schema.ini放在当前文件夹下
内容如下

[MyWorkbook.CSV]
ColNameHeader=True
Format=CSVDelimited
Col1=mxh Text
Col2=孟宪会 Text

注意里面的字段名字设置
kouzhongling 2006-01-13
  • 打赏
  • 举报
回复
也就是说看看字段类型 不要用数值型
kouzhongling 2006-01-13
  • 打赏
  • 举报
回复
数值型数据(在很多软件中,我见过的)都不能以0开头
因为以 0 开头就表示数值非10进制

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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