请教sql server中如何导入vfp中的数据表

于之 2003-10-17 09:49:23
我有一个500MB的lotphd表,我的sql server的ddh数据库中也有lotphd的一个空表,我想将那个lotphd.dbf的数据全部导入至sql server的lotphd表中,我要求在sql server的查询分析器中进行,请高手指教,如何写呢?谢谢!
...全文
69 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
不好意思,我没看清楚. @_@
于之 2003-10-17
  • 打赏
  • 举报
回复
唉呀!你不早说,让我白做了!只好重来!不过,很谢谢!做完后成功了给分吧!
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
楼主是执行什么样的语句?我那个是将SQL的数据导到DBF中

你的情况要倒过来写,因为字段顺序可能不同,最好写上字段列表.:

insert into lotphd
openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
于之 2003-10-17
  • 打赏
  • 举报
回复
肯定是存在的,现在正在执行批处理查询,很慢,不知这样做完后,是不是这个dbf表中的内容就增添到了sql server的空表lotphd中了?应该是吧?
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
select * from 要复制的SQL表

--注意,DBF文件必须已经存在,
于之 2003-10-17
  • 打赏
  • 举报
回复
请问letsflytogether(恨!不能拥有天下所有的财富,然后平分)
您给我的这一句是不是c:\aa.dbf中的内容,拷至sql server数据库中的同名aa表中吗?
伍子V5 2003-10-17
  • 打赏
  • 举报
回复
--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
--*/

xxu333 2003-10-17
  • 打赏
  • 举报
回复
用DTS
verybigmouthz 2003-10-17
  • 打赏
  • 举报
回复
DTS呵呵 最简单了
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
管理--输入给分的分数--输入密码--给分
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
有没有这么怪啊?是不是你的权限不够?

我的电脑上执行正常.

试试,关闭查询分析器,重新连接再试过.
于之 2003-10-17
  • 打赏
  • 举报
回复
太谢谢邹建了!搞定了!怎么给分给你啊!
于之 2003-10-17
  • 打赏
  • 举报
回复
我按你的做了,出现错误:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MSDASQL' 报错。
[OLE/DB provider returned message: [Microsoft][ODBC Visual FoxPro Driver]Cannot open file d:\sqlbf\ctb0.dbf.]


怪事!
于之 2003-10-17
  • 打赏
  • 举报
回复
好,我试试.
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
--那你试试,先导入到临时表,再从临时表导入到正式表.


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

insert into lotphd select * from #tb

drop table #tb
于之 2003-10-17
  • 打赏
  • 举报
回复
因为,我的sql serverge 中的lotphd是有一个text字段,而导入至dbf中则变成了 MEMO字段,现在又要将Memo这个字段的内容导至sql server的lotphd表中,却出现了这样的问题,那么,如何解决数据类型的不同导入呢?请高手指教,万分谢谢!
于之 2003-10-17
  • 打赏
  • 举报
回复
麻烦了!刚才我按你的做了,可是,提示

服务器: 消息 450,级别 16,状态 1,行 1
对 text 数据类型不支持代码页转换。从: 936 到: 950。

记住:这个lotphd是原来从sql server导出来生成的lotphd.dbf文件,可现在要导回去,却提示这样的错误!奇怪!是什么原因呢?请再指教!tks
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
--少写了一个select
insert into lotphd
select * from
openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
于之 2003-10-17
  • 打赏
  • 举报
回复
不行呀!
insert into lotphd
openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')

提示:在关键字openrowset 附近有语法错误,请问错在哪里呢?

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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