有几百个外部表(DBF),表结构是相同的,现在想要把他们导入到sqlserver的一张表中.如何实现,用向导导入的话要一个个选择,请问有更简单的方法吗
解决方案 »
- 请教关于数据表分区的几个疑问?
- 附加数据库的问题
- 2000关于事务begintranCommittran...
- text类型字段怎么存储图片?
- 请问一个sql语言查询的问题?
- 关于sql左右联问题
- 我的表有多个索引, 请问执行下面的语句时, 系统到底用哪一个索引?
- SQL 语句能实现这样的查询吗?对每个 ID 取最后的 2 条记录。
- 各位高手:如何将存在表里的IMAGE类型的数据图片导出存为一个图片文件。
- 各位数据库版的ggdddjjmm,偶是牛虻,问题极菜,都是基本问题,分数极多,没放过低于100的贴子,偶正在学sql server,希望大家帮帮偶//牛虻
- 请问,sql通过复制进行数据同步时,是不是必须用域用户?
- 库房管理时怎么在入库时改变原来的库存量?
在SQL中访问DBF文件参考下面的(注意DBF文件有两种, 根据你的情况选用)--/* dBase 文件
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'dBase III;DATABASE=C:\'
,'select * from [客户资料3.dbf]')--/* FoxPro 数据库
select * from openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', --c:\是目录
'select * from [aa.DBF]') --aa.dbf是文件名
下面是示例(假设dbf文件是 Foxpro 数据库的)DECLARE @Path nvarchar(1000), @sql nvarchar(1000), @tbname sysnameSELECT @Path = 'c:\' -- dbf 文件所在的目录
,@tbname = 'tb' -- 接收 dbf 文件数据的目的表-- 导入处理
CREATE TABLE #(fname nvarchar(1000))
SET @sql = 'DIR ' + @Path + '*.txt'
INSERT # EXEC master.dbo.xp_cmdshell @sql
IF @@ROWCOUNT = 0
RETURN
DECLARE tb CURSOR LOCAL
FOR
SELECT N'INSERT ' + @tbname + N'
SELECT * FROM OPENROWSET(''MSDASQL'',
''Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=' + @Path + ''',
''SELECT * FROM ' + QUOTENAME(fname) + N''')'
OPEN tb
FETCH tb INTO @sql
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC(@sql)
FETCH tb INTO @sql
END
CLOSE tb
DEALLOCATE tb
DROP TABLE #