关于visual foxpro数据库转换及结构的有关问题
发布时间:2010-05-24 21:51:31 文章来源:www.iduyao.cn 采编人员:星星草
关于visual foxpro数据库转换及结构的问题
sqlServer导dbf需要什么dsn,我导成excel文件再转换成dbf文件,字段类型和大小都变了;我导成mdb文件后再转换成dbf文件,类型未变,容许字段长度却很长,需要我一个个改,怎么办?有什么办法在程序里,或foxpro管理器内动态更改字段?
------解决方案--------------------
请参考:
----------SQL Server表 导出 DBF----------
方法一:如果DBF表已经存在,在查询分析器中执行以下语句(先选择对应的数据库)
insert into openrowset( 'MSDASQL ', 'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c: ', 'select * from 表B.DBF ') select * from 表a
/*--说明:
SourceDB=c: c:是dbf文件的存放目录
表B.DBF 是已经存在dbf文件名,数据导入此表
表A.dbf 是要导出的SQL表名
--*/
方法二:如果DBF表不存在,直接导出时创建,通过SQL Server的“导入导出数据”工具
1、建立Visual FoxPro的数据源:
在ODBC中建立一个Visual FoxPro的数据源(ODBC-Microsoft Visual FoxPro Driver)的步骤如下:
打开ODBC配制窗口 ->
选择“用户DSN”页面或“系统DSN”页面,建议用后者 ->
点击“添加”按钮 ->
选择“Microsoft Visual FoxPro Driver”这个驱动 ->
在Data Source Name(数源源名称)处输入此数据源名称,可自定,本例如LjDbf,Database Type(数据库类型)处选择“Free Table directory”(自由表路径),然后在下面的Path(路径)处随便设置一个路径,本列如“D:” ->
点击“OK”(确定)配制完成 ->
关闭ODBC配制窗口
2、通过SQL的导入导出数据(DTS)来把SQL表导成DBF表:
开始 ->
程序 ->
Microsoft SQL Server-导入导出数(DTS)->
下一步 ->
此步为“选择数据源”的窗口,“数据源”选 "用于SQL Server的Microsoft OLE DB提供程序 "(此项一般为默认),同时选择你要导出的SQL表所在数据库、服务器及服务器的验证方式,然后点击“下一步” ->
此步为“选择目的”的窗口,“目的”选“Microsoft Visual FoxPro Driver”,同时在 "用户/系统DSN "处选择你刚刚配制的数据源名(本例如LjDbf,当然上面配制数据源的过程也可以通过“用户/系统DSN”后面有一个“新建”按钮来完成),然后点击“下一步” ->
这时:
A:如果要把被导出的SQL表的全部字段均导出,则选择“从源数据库复制表和视图”,点击“下一步” ->
选择要导出的表或视图,在‘目的’处可修改生成的DBF表的名称,默认与SQL表名一样,点击“下一步” ->
再点击“下一步” ->
最后点击“完成”进行导出即可(导出成功与否DTS会有提示),导出成功之后的DBF表的主文件名与SQL的表名一样。
B:如果只导出SQL表中的几个字段或全部字段(如果导出全部字段,也可以用上面步骤A,结果是一样的,只是方法不同),则选择“用一条查询指定要输出的数据”,点击“下一步” ->
点击“查询生成器”,选择要导出的SQL表(此时可选择列),点击“下一步” ->
指定排序顺序,选一个或多个排序字段,如果不用排序,此步可略,点击“下一步” ->
此步可以指定查询条件,如果没有条件,此步可略,点击“下一步” ->
出现了对应的SQL语句(也可以再修改生成的SQL语句,但不推荐),再点击“下一步” ->
这时可修改要生成的DBF表名,默认为“结果”,再点击“下一步” ->
再点击“下一步” ->
最后点击“完成”进行导出即可(导出成功与否DTS会有提示)。
注:
导出成功后,DBF文件一般存于 Microsoft SQL Server80ToolsBinn 或 Program FilesCommon FilesODBCData Sources目录下,并没有存于上面所说的D:,这个我也不知为什么,哪位如果知道,请告之。
------解决方案--------------------
没有那么复杂吧:
oConnection = CreateObject( "adodb.connection ") &&建立连接对象
With oConnection
.ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:temp;Extended Properties=dbase 5.0;Persist Security Info=False '
.Open
ENDWITH
TEXT TO FF NOSHOW
SELECT * INTO dDA1 FROM data in [odbc] [ODBC;Driver=SQL Server;UID=sa;PWD=123;Server=mis;DataBase=temp]
ENDTEXT
oConnection.EXECUTE(FF)
oConnection.close
这是用VFP+ADO+JET SQL实现在不同的数据库系统之间自由转换,生成的DBF用VFP打开,
修改字段长度即可。
注意:不同的数据库系统有不同的字段类型、长度等等,特殊字段不能转换,如
IMAGE、TEXT等等,要手工转换。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
菜鸟求一句命令
我做VC的,没做过VFP,完全不懂,帮人问一句命令,谢谢各位大牛们帮忙。
“我有两张表,称为A表,B表,其中B表数据很多,我现在...
-
求助:实现grid修改后直接后直接更新到数据表里
各位道友,小弟有两个问题
1。如何实现在grid表格里直接修改数据;
2。修改的数据可直...
-
请问treeview 里面如何选择性展开其中某树枝及其获得焦点?
请问如何在treeview里面,如何实现选择性展开其中的某枝,原本是全部收起来...
-
vfp中treeview控件的用法
我在VFP中使用了treeview控件,我对treeview中的某一个节点的文本修改了,怎么在treeview窗口中进行就更。
...
-
求编排考号问题
需求是这样的,如1年级有8个班,那么考号编排规则是:第1个班的第一个学生考号为1号,第2个班的第一个学生考号为2号,以此...
-
大家讨论,对现有vfp6.0产品只升级为sql server数据库有必要吗?
功能保留原来 只是数据库变化
我本人觉得会丧失很多vfp 本身文...
-
表单中的出错,第一次遇到
VFP9.0中新建了一个表单
表单中,增加一个command1,使其width=25
然后,将此按钮,复制150个出来. (此时...
-
VFP 如何做一个类似word控件?
如题。
类似于电子病历的那种控件。可以像word一样的编辑文件、表格、图片等
可以直接取数据库的数...
-
vfp使用Msxml2.ServerXMLHTTP的乱码问题
oo = = newObject('Msxml2.ServerXMLHTTP')
oo.open('post','http://localhost/',.f.)
o...
-
表中定位 如下 记录 seek办不到
表结构
dlh fb
100 5
110 2
112 3
........
假如 我想查找 dl...