PB中把DBF文件导入SQL SERVER

时间:2022-10-09 00:40:31
现在需要把一个系统中的文件导入到我的系统中去
两个系统的数据库都是SQL SERVER2000 
因为版权,我只能要求对方系统给我生成DBF文件,然后再读到我的系统中
高手看可行不
如果行,我在PB9中怎么把DBF库文件读到SQL SERVER 中.谢谢!

8 个解决方案

#1


DBF文件?
是导出为Dbase还是Foxbase还是Foxpro,只要pb能连接上DBF(ODBC),就可以用数据管道把数据导入到SQL SERVER ,或者用SQL SERVER 导入导出工具

#2


数据窗口直接可以导入dbf

ImportFile() 
功能 把文件中的数据复制到数据窗口控件中 文件中的数据可以是以Tab字符作为分隔符的文本 也可以是 dBase II III格式的数据  
语法 dwcontrol.ImportFile(filename{,startrow{,endrow{,startcolumn{,endcolumn{, dwstartcolumn}}}}}) 
参数 dwcontrol 数据窗口控件名  
  filename String类型 其值是要复制数据的文件的文件名 文件的内容必须是以 Tab字符作为分隔符的文本文件 或者是 dBase II III格式的文件 DBF文
件 指定文件名时 需要指定文件的全名 其中包括扩展名部分 如果 filename 参数的值为 NULL ImportFile()函数会自动显示一个打开文件对话框 用户可以在该对话框中选择或输入文件名  
  startrow 可选参数 指定希望复制的数据起始行的行号 如果数据的第一行包
含了各列的列标题 而你希望跳过列标题 那么把 startrow参数的值设置为 2
startrow参数的缺省值为 1  
  endrow 可选参数 指定希望复制数据终止行的行号 缺省值为起始行之后最
后一行  
  startcolumn 可选参数 指定希望复制的数据起始列的列号 缺省值为 1 
  endcolumn 可选参数 指定希望复制的数据终止列的列号 缺省值为起始列之
后最后一列  
  dwstartcolumn 可选参数 指定数据窗口中接收文件中数据的第一列的列号
缺省值为 1  
返回值 Long 函数执行成功时返回从文件中移入到数据窗口中数据的行数

#3


也可以把dbf作为数据源,用数据管理导入

#4


/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

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

说明:
SourceDB=c:\  指定foxpro表所在的文件夹
aa.DBF        指定foxpro表的文件名.

#5


根据DBF文件建好ODBC,然后用SQLSERVER里的企业管理器的导入,VERY EASY!!

#6


/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

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

说明:
SourceDB=c:\ 指定foxpro表所在的文件夹
aa.DBF 指定foxpro表的文件名.

#7


引用 2 楼 newease 的回复:
数据窗口直接可以导入dbf

ImportFile() 
功能 把文件中的数据复制到数据窗口控件中 文件中的数据可以是以Tab字符作为分隔符的文本 也可以是 dBase II III格式的数据  
语法 dwcontrol.ImportFile(filename{,startrow{,endrow{,startcolumn{,endcolumn{, dwstartcolumn}}}}}) ……


在程序里实现的话:

if right(path,3)='dbf' or right(path,3)='DBF' then idw_dw.importfile(path,1)//path是文件名

做个数据窗口,字段和dbf的格式对应好,上面语句把文件内容导入idw_dw 然后idw_dw UPDATE()就可以了


#8


是导出为Dbase还是Foxbase还是Foxpro,只要pb能连接上DBF(ODBC),就可以用数据管道把数据导入到SQL SERVER ,或者用SQL SERVER 导入导出工具

#1


DBF文件?
是导出为Dbase还是Foxbase还是Foxpro,只要pb能连接上DBF(ODBC),就可以用数据管道把数据导入到SQL SERVER ,或者用SQL SERVER 导入导出工具

#2


数据窗口直接可以导入dbf

ImportFile() 
功能 把文件中的数据复制到数据窗口控件中 文件中的数据可以是以Tab字符作为分隔符的文本 也可以是 dBase II III格式的数据  
语法 dwcontrol.ImportFile(filename{,startrow{,endrow{,startcolumn{,endcolumn{, dwstartcolumn}}}}}) 
参数 dwcontrol 数据窗口控件名  
  filename String类型 其值是要复制数据的文件的文件名 文件的内容必须是以 Tab字符作为分隔符的文本文件 或者是 dBase II III格式的文件 DBF文
件 指定文件名时 需要指定文件的全名 其中包括扩展名部分 如果 filename 参数的值为 NULL ImportFile()函数会自动显示一个打开文件对话框 用户可以在该对话框中选择或输入文件名  
  startrow 可选参数 指定希望复制的数据起始行的行号 如果数据的第一行包
含了各列的列标题 而你希望跳过列标题 那么把 startrow参数的值设置为 2
startrow参数的缺省值为 1  
  endrow 可选参数 指定希望复制数据终止行的行号 缺省值为起始行之后最
后一行  
  startcolumn 可选参数 指定希望复制的数据起始列的列号 缺省值为 1 
  endcolumn 可选参数 指定希望复制的数据终止列的列号 缺省值为起始列之
后最后一列  
  dwstartcolumn 可选参数 指定数据窗口中接收文件中数据的第一列的列号
缺省值为 1  
返回值 Long 函数执行成功时返回从文件中移入到数据窗口中数据的行数

#3


也可以把dbf作为数据源,用数据管理导入

#4


/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

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

说明:
SourceDB=c:\  指定foxpro表所在的文件夹
aa.DBF        指定foxpro表的文件名.

#5


根据DBF文件建好ODBC,然后用SQLSERVER里的企业管理器的导入,VERY EASY!!

#6


/**************导入DBF文件****************/
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;
SourceDB=e:\VFP98\data;
SourceType=DBF',
'select * from customer where country != "USA" order by country')
go
/***************** 导出到DBF ***************/
如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

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

说明:
SourceDB=c:\ 指定foxpro表所在的文件夹
aa.DBF 指定foxpro表的文件名.

#7


引用 2 楼 newease 的回复:
数据窗口直接可以导入dbf

ImportFile() 
功能 把文件中的数据复制到数据窗口控件中 文件中的数据可以是以Tab字符作为分隔符的文本 也可以是 dBase II III格式的数据  
语法 dwcontrol.ImportFile(filename{,startrow{,endrow{,startcolumn{,endcolumn{, dwstartcolumn}}}}}) ……


在程序里实现的话:

if right(path,3)='dbf' or right(path,3)='DBF' then idw_dw.importfile(path,1)//path是文件名

做个数据窗口,字段和dbf的格式对应好,上面语句把文件内容导入idw_dw 然后idw_dw UPDATE()就可以了


#8


是导出为Dbase还是Foxbase还是Foxpro,只要pb能连接上DBF(ODBC),就可以用数据管道把数据导入到SQL SERVER ,或者用SQL SERVER 导入导出工具