DBF数据导入导出,在线等!!!急,顶者有分!不够再加

orangeh 2004-10-08 03:04:40
我用"select * into tablename from openrowset ('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceDB=" & filepath &";SourceType=DBF','select * from " & DBFfilename & "')"将DBF表导入了SQL server,然后再用了邹建的存储过程将该表导出为DBF,但是第一次运行存储过程的时候,总是报错,再运行第二次就可以将数据导出了,这是什么原因啊,请高手指教啊.
...全文
271 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
tpf9000 2004-10-10
  • 打赏
  • 举报
回复
ding
orangeh 2004-10-10
  • 打赏
  • 举报
回复
目前只有1209条数据啊
orangeh 2004-10-09
  • 打赏
  • 举报
回复
我顶啊
orangeh 2004-10-09
  • 打赏
  • 举报
回复
mikespook(懒猫开始新生活)
请问你对SQL Server导出为EXCEL和ACCESS了解吗?可不可以也指点我一下啊,分数我会再加100分的,不够的话,我还可以加
orangeh 2004-10-09
  • 打赏
  • 举报
回复
@fdlist是yxdm,yxmc,xh,xm,xbdm,sfzhm,xldm,zydm,sfsfbz,pyfsdm,xz,mzdm,zzmmdm,csrq,rxsj,bysj,xwdm,zyfx,byqxdm,bh,dwdm,dwmc,dwszddm,dwxzdm,dwlsbmdm,pqbdzh,uname,jyzkdm,daclqk,pqsj,pqf,gpyy,ydwmc,ypqbdzh,xjbddm,zxwyyzdm,zxwyjb,syszddm,jtdz,jtyzbm,hyzk,ksh,bz,kzx1,kzx2,kzx3,kzx4,kzx5

@tbname是
stu2004.dbf

上面一个是表中的所有字段,下面一下是导出后的表名
hanakim 2004-10-09
  • 打赏
  • 举报
回复
ding
mikespook 2004-10-09
  • 打赏
  • 举报
回复
刚才没仔细看~~~~应该与这句话无关~~~~~

那个存储过程我还要看看~~~
@fdlist和@tbname的内容你输出看看是什么内容~~~~
orangeh 2004-10-09
  • 打赏
  • 举报
回复
而且存储过程是生成好了的啊,以后就不用create proc了吧
orangeh 2004-10-09
  • 打赏
  • 举报
回复
需要导出的表也是DBF导进去的,字段是系统自动生成的
报错的这个字段是numeric,长度是5
orangeh 2004-10-09
  • 打赏
  • 举报
回复
建好了的存储过程中并没有这句话啊
你是说生成的时候就不要这句话?
mikespook 2004-10-09
  • 打赏
  • 举报
回复
错了是CREATE PROC~

刚才又仔细看了一下那个存储过程~~~~问一下,你的字段都是什么类型多长的?
mikespook 2004-10-09
  • 打赏
  • 举报
回复

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_exporttb]
GO
这个去掉,第一次就不会出错~~~~

不过我建议保留,否则的话以后如果还对同一个DBF更新的话,CREATE TABLE就会有问题~~~
orangeh 2004-10-09
  • 打赏
  • 举报
回复
救命啊,求求各位高手了啊
chenypluck 2004-10-09
  • 打赏
  • 举报
回复
up
wint_zyc 2004-10-09
  • 打赏
  • 举报
回复
是否数据太多了!!
如果超过5000条,建议分批导!!
orangeh 2004-10-09
  • 打赏
  • 举报
回复
pqf这个字段在SQL中是numeric类型,长度是5
在DBF中numeric类型的长度好像是6
因为SQL中的表也是导入进去的,我不可能让用户改表结构,所以这个长度好像不可能调。那要怎么才能解决这个问题啊?
用DTS怎么做呢?
mikespook 2004-10-09
  • 打赏
  • 举报
回复
你检查一下pqf这个字段的内容,应该是由于两种数据库默认的numeric长度不同造成的~~~

我一般使用DTS来做,DTS建立好以后也可以用命令行调用~~
orangeh 2004-10-09
  • 打赏
  • 举报
回复
再顶
orangeh 2004-10-09
  • 打赏
  • 举报
回复
可是我不能让用户手动导入导出库表啊,只能用代码啊
yping2000 2004-10-09
  • 打赏
  • 举报
回复


数据库好象在sql server 2000里直接可以手动导入和导出的
加载更多回复(12)

28,391

社区成员

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

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