sql导出dbf文件

合集下载

SQL数据库数据导出方法

SQL数据库数据导出方法

SQL数据库数据导出方法
1、开始→程序→Microsoft SQL Server→企业管理器;
2、单击数据库SCBH前面的加号,单击表图标,在右边打开的窗口里面,在空白处点右键,
选择:所有任务→导出数据,出现如下视图
3、点击下一步:出现如下视图
4、点击下一步:出现如下视图
5、在目的对话框中选择要导出的文件类型,(下面以文本文件为例)选择文本文件,出现如下视图:
6、单击文件名后面的按钮,出现如下对话框:
输入文件名称,单击保存,将出现下面的页面:
7、单击下一步,出现如下界页,选择“用一条查询指定要输出的数据”,然后单击下一步
8、在出现的下面界面上,单击“查询生成器”
出现如下界面
选择表T_Product→Coding单击向右的箭头添加到右边的对话框中,然后点击下一步9、在出现的如下界面直接单击下一步:
在出现的下面界面中选择“只有满足条件的行”
在列对话框中选择“[T_Product].[PlannerID],运算符选择“=”号,单击值/列后面的按钮,在出现的界面中选择要输入的计划编号(如下图:)
然后单击下一步,出现如下界面,直接单击下一步
10、在出现的下面界面中选择“固定字段,信息以等宽按列对齐”
单击下一步:出现如下界面
单击下一步,出现如下界面:
单击完成,出现如下界面:
单击确定→完成
11、这样即完成了数据的导出,导入到其它文件方法基本相同!。

sql查询结果导出语句

sql查询结果导出语句

sql查询结果导出语句SQL查询结果导出是在数据库中执行查询语句后,将查询结果导出到外部文件或其他数据库中的操作。

这种操作可以方便地将数据进行备份、迁移、共享或用于数据分析等目的。

下面列举了十个符合题目要求的SQL查询结果导出语句。

1. 将查询结果导出为CSV文件:```SELECT * FROM table_nameINTO OUTFILE '/path/to/file.csv'FIELDS TERMINATED BY ','ENCLOSED BY '"'LINES TERMINATED BY '\n';```这个语句将查询结果导出为逗号分隔的CSV文件,字段使用双引号括起来,每行以换行符结束。

2. 将查询结果导出为Excel文件:```SELECT * FROM table_nameINTO OUTFILE '/path/to/file.xls'FIELDS TERMINATED BY '\t'LINES TERMINATED BY '\n';```这个语句将查询结果导出为T ab分隔的文本文件,保存为Excel文件格式。

3. 将查询结果导出为JSON文件:```SELECT JSON_OBJECT('column1', column1, 'column2', column2, ...)FROM table_nameINTO OUTFILE '/path/to/file.json';```这个语句将查询结果导出为JSON格式的文件,每一行作为一个JSON对象。

4. 将查询结果导出为XML文件:```SELECT XMLAGG(XMLELEMENT(NAME "row", XMLFOREST(column1, column2, ...)))FROM table_nameINTO OUTFILE '/path/to/file.xml';```这个语句将查询结果导出为XML格式的文件,每一行作为一个XML元素。

SQL语句导入导出大全

SQL语句导入导出大全

BULK INSERT 库名..表名 FROM ‘c:“test.txt‘ WITH ( FIELDTERMINATOR = ‘;‘, ROWTERMINATOR = ‘“n‘ )
/* dBase IV文件 select * from OPENROWSET(‘MICROSOFT.JET.OLEDB.4.0‘ ,‘dBase IV;HDR=NO;IMEX=2;DATABASE=C:“‘,‘select * from [客户资料4.dbf]‘) */
如果你想直接插入并生成文本文件,就要用bcp
declare @sql varchar(8000),@tbname varchar(50)
首先将excel表内容导入到一个全局临时表 select @tbname=‘[temp‘+cast(newid() as varchar(40))+‘]‘ ,@sql=‘select 姓名,银行账号1=left(银行账号,8),银行账号2=right(银行账号,8) into ‘+@tbname+‘ from opendatasource(‘‘MICROSOFT.JET.OLEDB.4.0‘‘ ,‘‘Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:“a.xls‘‘ )...[Sheet1$]‘ exec(@sql)
/**************导入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语句

SQL语句导入导出大全

SQL语句导入导出大全

SQL语句导⼊导出⼤全EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions declare @fn varchar(20),@s varchar(1000)set @fn = 'c:\test.xls'set @s ='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'exec(@s)SELECT cast(cast(科⽬编号 as numeric(10,2)) as nvarchar(255))+' ' 转换后的别名FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactionsinsert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名 (列名1,列名2)SELECT 列名1,列名2FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactionsEXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'或EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'BULK INSERT 库名..表名FROM 'c:\test.txt'WITH (FIELDTERMINATOR = ';',ROWTERMINATOR = '\n')--/* dBase IV⽂件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.dbf]')--*/--/* dBase III⽂件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料3.dbf]')--*/--/* FoxPro 数据库select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from [aa.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如果要导出数据到已经⽣成结构(即现存的)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表的⽂件名.insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表) select * from 数据库名..B表insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)declare @fname varchar(20)set @fname = 'd:\test.mdb'exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'','''+@fname+''';''admin'';'''', topics) as a ')SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;') [Page]DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc ='<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>'-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, '/root/Customer/Order', 1)WITH (oid char(5),amount float,comment ntext 'text()')EXEC sp_xml_removedocument @idoc想⽤ select * into opendatasource(...) from opendatasource(...)实现将⼀个Excel⽂件内容导⼊到⼀个⽂本⽂件假设Excel中有两列,第⼀列为姓名,第⼆列为很⾏帐号(16位)且银⾏帐号导出到⽂本⽂件后分两部分,前8位和后8位分开。

dbf sqlserver 工具 -回复

dbf sqlserver 工具 -回复

dbf sqlserver 工具-回复SQL Server是一种关系型数据库管理系统(DBMS),而DBF是一种基于文件的数据库文件格式。

在本文中,我将向您介绍使用SQL Server 工具来管理和操作DBF文件的方法,以帮助您更好地理解和应用这两种技术。

1. 什么是SQL Server?SQL Server是由Microsoft开发的关系型数据库管理系统。

它使用结构化查询语言(SQL)来管理和操作数据。

SQL Server具有强大的安全性、可靠性和扩展性,被广泛用于各种企业级应用和网站。

2. 什么是DBF文件?DBF(dBase File)是一种基于文件的数据库文件格式,最初用于dBase数据库系统。

它是一种简单的二进制文件格式,用于存储结构化数据。

DBF文件通常包含表格和记录,可以通过读取和解析文件中的内容来访问和操作数据。

3. SQL Server中的DBF工具SQL Server提供了多种工具来管理和操作数据库,其中包括一些可以处理DBF文件的工具。

以下是几种常用的SQL Server工具:- SQL Server Management Studio(SSMS):这是一种用于管理和操作SQL Server数据库的综合工具。

SSMS提供了一个图形化界面,允许用户执行各种数据库管理任务,并可通过ODBC驱动程序连接和读取DBF文件。

- SQLCMD:这是SQL Server的命令行工具,允许用户通过命令行界面执行各种数据库操作。

使用SQLCMD,您可以编写脚本或批处理文件来执行对DBF文件的查询和修改。

- SQL Server Integration Services(SSIS):这是一种用于数据抽取、转换和加载(ETL)的工具。

SSIS允许用户定义数据流程,并可通过ODBC 驱动程序连接和读取DBF文件,以便将数据导入SQL Server数据库中。

4. 使用SSMS管理DBF文件以下是使用SSMS管理DBF文件的步骤:步骤1:安装和启动SSMS。

sql server 2008 导入导出数据大全

sql server 2008 导入导出数据大全

sql server 2008 导入导出数据大全/******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q - S"GNETDATA/GNETDATA" -U"sa" -P""'/*********** 导入ExcelSELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/*动态文件名declare @fn varchar(20),@s varchar(1000)set @fn = 'c:\test.xls'set @s ='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'exec(@s)*/SELECT cast(cast(科目编号as numeric(10,2)) as nvarchar(255))+'' 转换后的别名FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/********************** EXCEL导到远程SQLinsert OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名(列名1,列名2)SELECT 列名1,列名2FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel5.0')...xactions/** 导入文本文件EXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa - Ppassword'/** 导出文本文件EXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'或EXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c - Sservername -Usa -Ppassword'导出到TXT文本,用逗号分开exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'BULK INSERT 库名..表名FROM 'c:\test.txt'WITH (FIELDTERMINATOR = ';',ROWTERMINATOR = '\n')--/* dBase IV文件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料4.dbf]')--*/--/* dBase III文件select * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [客户资料3.dbf]')--*/--/* FoxPro 数据库select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from [aa.DBF]')--*//**************导入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表的文件名./*************导出到Access********************/insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表) select * from 数据库名..B表/*************导入Access********************/insert into B表selet * from openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)文件名为参数declare @fname varchar(20)set @fname = 'd:\test.mdb'exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'', '''+@fname+''';''admin'';'''', topics) as a ')SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;UserID=Admin;Password=;')...产品********************* 导入xml文件DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc ='<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied </Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it bluewhite red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>'-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, '/root/Customer/Order', 1)WITH (oid char(5),amount float,comment ntext 'text()')EXEC sp_xml_removedocument @idoc/**********************Excel导到Txt****************************************/想用select * into opendatasource(...) from opendatasource(...)实现将一个Excel文件内容导入到一个文本文件假设Excel中有两列,第一列为姓名,第二列为很行帐号(16位)且银行帐号导出到文本文件后分两部分,前8位和后8位分开。

dbf数据导出命令for语句

dbf数据导出命令for语句

dbf数据导出命令for语句
对于DBF数据导出,可以使用DBF文件的命令行工具或者编程
语言来实现。

以下是一个示例,假设你想要使用Python来导出DBF
数据。

首先,你需要安装Python的dbf包,可以使用pip工具来安装: pip install dbf.
然后,你可以使用以下Python脚本来导出DBF数据:
python.
from dbfread import DBF.
# 读取DBF文件。

table = DBF('your_file.dbf')。

# 遍历数据并导出。

for record in table:
print(record)。

上面的示例代码使用了dbfread库来读取DBF文件,并使用
for循环遍历数据并打印出来。

你可以根据自己的需求,将数据导
出到其他格式或者存储到数据库中。

如果你想要使用其他编程语言或者命令行工具来导出DBF数据,可以根据具体的需求选择合适的工具和方法。

希望这个示例能够帮
助到你。

SQL 中各种数据导入和导出方法和工具总结

SQL 中各种数据导入和导出方法和工具总结

BCP是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据BCP除了可以在控制台执行外,还可以通过调用SQL Server的一个系统存储过程xp_cmdshell 以SQL语句的方式运行BCP。

如:EXEC master..xp_cmdshell 'BCP NTS.dbo.T_User out c:\User.txt -c -U"sa" -P"password"'1. 四个动作01. 导入:这个动作使用IN命令完成,后面跟需要导入的文件名02. 导出:这个动作使用OUT命令完成,后面跟需要导出的文件名,数据源是表或者视图03. 使用SQL语句导出:这个动作使用QueryOut命令完成,跟OUT类似,数据源是SQL语句04. 导出格式文件:这个动作使用Format命令完成,后而跟格式文件名2. 常用的选项01. -f Format_FileFormat_File表示格式文件名。

这个选项依赖于上述的动作,如果使用的是IN或OUT,Format_File表示已经存在的格式文件,如果使用的是Format则表示是要生成的格式文件02. -x这个选项要和-f Format_File配合使用,以便生成XML格式的格式文件03. -F First_Row指定从被导出表的哪一行导出,或从被导入文件的哪一行导入04. -L last_Row指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束05. -c使用Char类型做为存储类型,没有前缀且以"\t"做为字段分割符,以"\n"做为行分割符06. -w和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nChar做为存储类型07. -t Field_Term指定字符分割符,默认是"\t"08. -r Row_Term指定行分割符,默认是"\n"09. -S Server_Name[ \Instance_Name]指定要连接的SQL Server服务器的实例,如果未指定此选项,BCP连接本机的SQL Server默认实例。

sqlserver批量导出表数据的方法

sqlserver批量导出表数据的方法

sqlserver批量导出表数据的方法SQL Server是一种关系型数据库管理系统,它的功能十分强大,可以支持大型数据的存储和管理。

在实际的应用中,我们经常需要将数据库中的数据导出到其他的格式中进行分析和处理。

本文将介绍SQL Server批量导出表数据的方法,以帮助您更高效地开展工作。

一、使用SQL Server Management Studio(SSMS)导出数据步骤如下:1.打开SSMS,连接到SQL Server数据库实例。

2.选择要导出数据的数据库。

3.在左侧的对象资源管理器中,展开数据库,找到要导出数据的表。

4.右键单击表名,选择“选择前1000行”或“编辑前1000行”。

5.点击“查询”菜单,在下拉菜单中选择“结果文件”和“CSV”。

6.选择要保存文件的路径和文件名,点击“确定”按钮。

二、使用bcp命令导出数据bcp是SQL Server提供的命令行工具之一,用于批量导入和导出数据。

它支持多种文件格式,并具有灵活的命令行参数。

我们可以使用bcp命令导出表数据,步骤如下:1.打开命令提示符或PowerShell。

2.连接到SQL Server数据库实例。

3.输入以下命令:bcp "SELECT * FROM 表名" queryout "文件名" -c -t, -T -S 服务器名其中,“表名”指要导出数据的表名,“文件名”指要保存的文件名,“-c”表示使用字符类型,“-t,”表示数据字段之间使用逗号分隔,“-T”表示使用Windows身份验证连接到SQL Server,“-S”表示要连接的SQL Server实例名或IP地址。

4.按Enter键执行命令,等待导出完成。

三、使用SQL Server Integration Services(SSIS)导出数据SSIS是SQL Server自带的ETL(Extract-Transform-Load)工具,用于数据仓库等场景下的数据整合。

Sqlserver2012导入DBF文件

Sqlserver2012导入DBF文件

Sqlserver2012导⼊DBF⽂件将dbf⽂件放在任意系统⽬录下,我放在d:\db⽬录下需安装 AccessDatabaseEngine.exe (ACE)官⽹下载地址:安装之后在 sqlserver 实例下 ->“链接服务器”-> “访问接⼝”中会看到以下接⼝。

执⾏以下语句:exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigureEXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1在ssms中执⾏sql查询语句select*from OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db','select * from [2015.DBF]') 这⾥因为环境原因可能会报ISAM错,于是找到对应的msxbse35.dll 注册,注册后需要重新启动数据库服务器才有效果。

再次执⾏sql 查询命令select*from OPENROWSET('Microsoft.ACE.OLEDB.12.0','dBase IV;HDR=NO;IMEX=2;DATABASE=d:/db','select * from [2015.DBF]')提⽰如下需安装Foxpro,并在Foxpro命令框输⼊以下命令回车,将dbf⽂件转换格式USE 'd:\db\2015.dbf' EXCLUSIVE;COPY TO 'd:\db\2015new.dbf' TYPE FOX2X;或在Foxpro⾥将当前dbf⽂件导出为 dBase IV格式:再次执⾏,这⾥应该选择新的dbf⽂件2015new.dbf,最终成功读取了dbf⽂件内容。

编程实现SQL Server数据库导入导出操作

编程实现SQL Server数据库导入导出操作

编程实现SQL Server数据库导入导出操作******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q-S"GNETDATA/GNETDATA" -U"sa" -P""'解释: dcp 后面接”数据库.dbo. 表名”,out 后面接要导出的文件,-s后面接服务器名.例如:EXEC master..xp_cmdshell 'bcp pubs.dbo.stock out c:\temp1.xls -c -q-S"127.0.0.1" -Usa -Psa'上面的SQL语句表示把pubs数据库中的stock表导出到c:\temp1.xls文件.*********** 导入ExcelSELECT * FROM openrowset('MicroSoft.Jet.OleDB.4.0','Excel 5.0;HDR=yes;Database=c:\test.xls',sheet1$)--------------------------------------------------------SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extendedproperties=Excel 5.0')...xactionsSELECT cast(cast(科目编号as numeric(10,2)) as nvarchar(255))+'' 转换后的别名FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extendedproperties=Excel 5.0')...xactions/** 导入文本文件EXEC master..xp_cmdshell 'bcp "dbname..tablename" in c:\DT.txt -c -Sservername -Usa -Ppassword'/** 导出文本文件EXEC master..xp_cmdshell 'bcp "dbname..tablename" out c:\DT.txt -c-Sservername -Usa -Ppassword'或EXEC master..xp_cmdshell 'bcp "SELECT * FROM dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'导出到TXT文本,用逗号分开exec master..xp_cmdshell 'bcp "库名..表名" out "d:\tt.txt" -c -t ,-U sa -P password'BULK INSERT 库名..表名FROM 'c:\test.txt'WITH (FIELDTERMINATOR = ';',ROWTERMINATOR = '\n')例如:EXEC master..xp_cmdshell 'bcp "pubs.dbo.stock" out c:\DT.txt -c-S"127.0.0.1" -Usa -Psa'--/* dBase IV文件SELECT * FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','SELECT * FROM [客户资料4.dbf]') --*/--/* dBase III文件SELECT * FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','SELECT * FROM [客户资料3.dbf]') --*/--/* FoxPro 数据库SELECT * FROM openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','SELECT * FROM [aa.DBF]')--*//**************导入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表的文件名./*************导出到Access********************/INSERT INTO openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表) SELECT * FROM 数据库名..B表/*************导入Access********************/INSERT INTO B表selet * FROM openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A表)********************* 导入xml文件DECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc ='<root><Customer cid= "C1" name="Janine" city="Issaquah"><Order oid="O1" date="1/20/1996" amount="3.5" /><Order oid="O2" date="4/30/1997" amount="13.4">Customer was very satisfied</Order></Customer><Customer cid="C2" name="Ursula" city="Oelde" ><Order oid="O3" date="7/14/1999" amount="100" note="Wrap it blue white red"><Urgency>Important</Urgency>Happy Customer.</Order><Order oid="O4" date="1/20/1996" amount="10000"/></Customer></root>'-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider.SELECT *FROM OPENXML (@idoc, '/root/Customer/Order', 1)WITH (oid char(5),amount float,comment ntext 'text()')EXEC sp_xml_removedocument @idoc。

直接用SQL语句把DBF导入SQLServer

直接用SQL语句把DBF导入SQLServer
' FROM OpenDataSource(''Microsoft.Jet.OLEDB.4.0'', ' +
'''Data Source="' + m_Str_PathName + '";User ID=;Password=;Extended properties=dBase 5.0'')...' + m_Str_FileName;
p_Str_DataBaseName : String; //数据库名
p_Str_UserName : String; //用户名
p_Str_Password : String; //用户密码
p_StringList_FileNameAndPath : TStringList; //文件名和路径列表
'Persist Security Info=True;' +
'User ID=' + p_Str_UserName + ';' +
'Initial Catalog=' + p_Str_DataBaseName + ';' +
'Data Source=' + p_Str_MachineName;
m_Str_FileName := Self.String_DeleteExtNameForOneFileName(m_Str_FileName);
m_Str_PathName := Self.String_GetFilePathFromOneFullFileScript(m_Str_FileNameAndPath);

sql2008数据导出过程简述

sql2008数据导出过程简述

从sql2008数据库中导出数据方法1.左键单击计算机左下角开始菜单如下图2.3.选择所有程序出现下图4.5.打开Microsoft SQL Server 2008文件夹出现下图6.7.左键单击运行数据库出现下图8.9.选择SQL Server 身份认证并填写用户名和密码,左键单击连接(如果用户名密码填写正确会出现下图)10.11.打开右侧中的数据库出现下图12.13.选中预导出数据库如下图14.15.右键单击预导出数据库→左键单击任务→左键单击导出数据如下图16.17.单击导出数据后出现下图18.19.直接点击下一步出现下图20.21.确认数据库是你要导出数据的数据库后,单击下一步出现下图22.23.选择目标类型(就是你要导出什么类型的数据)如下图24.25.选择类型后出现下图26.27.左键单击浏览选择预导出数据到什么位置并填写文件名后单击打开如下图28.29.单击打开后出现下图30.31.左键单击下一步出现下图(导出数据版本可选,最好是默认类型不要动,否则有可能出现问题,导致导出数据失败,如果默认类型导出数据失败可以尝试换一种版本,比如换成2007版)32.33.继续下一步出现下图34.35.选中预导出表后下一步出现下图36.37.继续下一步出现下图38.39.左键单击完成出现下图40.41.继续单击完成出现下图窗体42.43.单击关闭,导出数据结束,在你导出数据时选择的保存位置查看导出数据。

44.45.46.[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]47.。

SQL 2005 中表的导入导出

SQL 2005 中表的导入导出
--导出表的情况
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
--导出查询的情况
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c:\test.xls" /c -/S"服务器名" /U"用户名" -P"密码"'
--方法三:
select * into 要生成的SQL表名 from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\','select * from dbf表名.DBF')
--如果接受导入数据的SQL表不存在,导入时创建
--方法一:
select * into 要生成的SQL表名 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=c:\','select * from dbf表名.dbf')
--如果接受数据导入的表已经存在
insert into 表 select * from

SQL语句导入导出大全

SQL语句导入导出大全

/******* µ¼³öµ½excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'/*********** µ¼ÈëExcelSELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions/*¶¯Ì¬ÎļþÃûdeclare @fn varchar(20),@s varchar(1000)set @fn = 'c:\test.xls'set @s ='''Microsoft.Jet.OLEDB.4.0'',''Data Source="'+@fn+'";User ID=Admin;Password=;Extended properties=Excel 5.0'''set @s = 'SELECT * FROM OpenDataSource ('+@s+')...sheet1$'exec(@s)*/SELECT cast(cast(¿ÆÄ¿±àºÅ as numeric(10,2)) as nvarchar(255))+'¡¡' ת»»ºóµÄ±ðÃûFROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions/********************** EXCELµ¼µ½Ô¶³ÌSQLinsert OPENDATASOURCE('SQLOLEDB','Data Source=Ô¶³Ìip;User ID=sa;Password=ÃÜÂë').¿âÃû.dbo.±íÃû (ÁÐÃû1,ÁÐÃû2)SELECT ÁÐÃû1,ÁÐÃû2FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions/** µ¼ÈëÎı¾ÎļþEXEC master..xp_cmdshell 'bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword'/** µ¼³öÎı¾ÎļþEXEC master..xp_cmdshell 'bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -Ppassword'»òEXEC master..xp_cmdshell 'bcp "Select * from dbname..tablename" queryout c:\DT.txt -c -Sservername -Usa -Ppassword'µ¼³öµ½TXTÎı¾£¬ÓöººÅ·Ö¿ªexec master..xp_cmdshell 'bcp "¿âÃû..±íÃû" out "d:\tt.txt" -c -t ,-U sa -P password'BULK INSERT ¿âÃû..±íÃûFROM 'c:\test.txt'WITH (FIELDTERMINATOR = ';',ROWTERMINATOR = '\n')--/* dBase IVÎļþselect * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase IV;HDR=NO;IMEX=2;DATABASE=C:\','select * from [¿Í»§×ÊÁÏ4.dbf]')--*/--/* dBase IIIÎļþselect * fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0','dBase III;HDR=NO;IMEX=2;DATABASE=C:\','select * from [¿Í»§×ÊÁÏ3.dbf]')--*/--/* FoxPro Êý¾Ý¿âselect * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\', 'select * from [aa.DBF]')--*//**************µ¼Èë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±íÖÐ,¿ÉÒÔÖ±½ÓÓÃÏÂÃæµÄS QLÓï¾ä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±íµÄÎļþÃû./*************µ¼³öµ½Access********************/insert into openrowset('Microsoft.Jet.OLEDB.4.0','x:\A.mdb';'admin';'',A±í) select * from Êý¾Ý¿âÃû..B±í/*************µ¼ÈëAccess********************/insert into B±í selet * from openrowset('Microsoft.Jet.OLEDB.4.0', 'x:\A.mdb';'admin';'',A±í)ÎļþÃûΪ²ÎÊýdeclare @fname varchar(20)set @fname = 'd:\test.mdb'exec('SELECT a.* FROM opendatasource(''Microsoft.Jet.OLEDB.4.0'', '''+@fname+''';''admin'';'''', topics) as a ')SELECT *FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="f:\northwind.mdb";Jet OLEDB:Database Password=123;User ID=Admin;Password=;')...²úÆ·********************* µ¼Èë xml¡¡ÎļþDECLARE @idoc intDECLARE @doc varchar(1000)--sample XML documentSET @doc ='Customer was very satisfiedImportantHappy Customer.'-- Create an internal representation of the XML document.EXEC sp_xml_preparedocument @idoc OUTPUT, @doc-- Execute a SELECT statement using OPENXML rowset provider. SELECT *FROM OPENXML (@idoc, '/root/Customer/Order', 1)WITH (oid char(5),amount float,comment ntext 'text()')EXEC sp_xml_removedocument @idoc???????/**********************Excelµ¼µ½Txt******************************* *********/ÏëÓÃselect * into opendatasource(...) from opendatasource(...)ʵÏÖ½«Ò»¸öExcelÎļþÄÚÈݵ¼Èëµ½Ò»¸öÎı¾Îļþ¼ÙÉèExcelÖÐÓÐÁ½ÁУ¬µÚÒ»ÁÐΪÐÕÃû£¬µÚ¶þÁÐΪºÜÐÐÕʺÅ(16λ)ÇÒÒøÐÐÕʺŵ¼³öµ½Îı¾Îļþºó·ÖÁ½²¿·Ö£¬Ç°8λºÍºó8λ·Ö¿ª¡£×Þ½¡£ºÈç¹ûÒªÓÃÄãÉÏÃæµÄÓï¾ä²åÈëµÄ»°,Îı¾Îļþ±ØÐë´æÔÚ,¶øÇÒÓÐÒ»ÐÐ:ÐÕÃû,ÒøÐÐÕ˺Å1,ÒøÐÐÕ˺Å2È»ºó¾Í¿ÉÒÔÓÃÏÂÃæµÄÓï¾ä½øÐвåÈë×¢ÒâÎļþÃûºÍĿ¼¸ù¾ÝÄãµÄʵ¼ÊÇé¿ö½øÐÐÐÞ¸Ä.insert intoopendatasource('MICROSOFT.JET.OLEDB.4.0','Text;HDR=Yes;DATABASE=C:\')...[aa#txt]--,aa#txt)--*/select ÐÕÃû,ÒøÐÐÕ˺Å1=left(ÒøÐÐÕ˺Å,8),ÒøÐÐÕ˺Å2=right(ÒøÐÐÕ˺Å,8) fromopendatasource('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'--,Sheet1$))...[Sheet1$]Èç¹ûÄãÏëÖ±½Ó²åÈë²¢Éú³ÉÎı¾Îļþ,¾ÍÒªÓÃbcpdeclare @sql varchar(8000),@tbname varchar(50)--Ê×ÏȽ«excel±íÄÚÈݵ¼Èëµ½Ò»¸öÈ«¾ÖÁÙʱ±íselect @tbname='[##temp'+cast(newid() as varchar(40))+']',@sql='selectÐÕÃû,ÒøÐÐÕ˺Å1=left(ÒøÐÐÕ˺Å,8),ÒøÐÐÕ˺Å2=right(ÒøÐÐÕ˺Å,8)into '+@tbname+' fromopendatasource(''MICROSOFT.JET.OLEDB.4.0'',''Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\a.xls'')...[Sheet1$]'exec(@sql)--È»ºóÓÃbcp´ÓÈ«¾ÖÁÙʱ±íµ¼³öµ½Îı¾Îļþset @sql='bcp "'+@tbname+'" out "c:\aa.txt" /S"(local)" /P"" /c' exec master..xp_cmdshell @sql--ɾ³ýÁÙʱ±íexec('drop table '+@tbname)/********************µ¼Õû¸öÊý¾Ý¿â********************************* ************/ÓÃbcpʵÏֵĴ洢¹ý³Ì/*ʵÏÖÊý¾Ýµ¼Èë/µ¼³öµÄ´æ´¢¹ý³Ì¸ù¾Ý²»Í¬µÄ²ÎÊý,¿ÉÒÔʵÏÖµ¼Èë/µ¼³öÕû¸öÊý¾Ý¿â/µ¥¸ö±íµ÷ÓÃʾÀý:--µ¼³öµ÷ÓÃʾÀý----µ¼³öµ¥¸ö±íexec file2table 'zj','','','xzkh_sa..µØÇø×ÊÁÏ','c:\zj.txt',1----µ¼³öÕû¸öÊý¾Ý¿âexec file2table 'zj','','','xzkh_sa','C:\docman',1--µ¼Èëµ÷ÓÃʾÀý----µ¼Èëµ¥¸ö±íexec file2table 'zj','','','xzkh_sa..µØÇø×ÊÁÏ','c:\zj.txt',0----µ¼ÈëÕû¸öÊý¾Ý¿âexec file2table 'zj','','','xzkh_sa','C:\docman',0*/if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)drop procedure File2Tablegocreate procedure File2Table@servername varchar(200) --·þÎñÆ÷Ãû,@username varchar(200) --Óû§Ãû,Èç¹ûÓÃNTÑéÖ¤·½Ê½,ÔòΪ¿Õ'',@password varchar(200) --ÃÜÂë,@tbname varchar(500) --Êý¾Ý¿â.dbo.±íÃû,Èç¹û²»Ö¸¶¨:.dbo.±íÃû,Ôòµ¼³öÊý¾Ý¿âµÄËùÓÐÓû§±í,@filename varchar(1000) --µ¼Èë/µ¼³ö·¾¶/ÎļþÃû,Èç¹û@tbname²ÎÊýÖ¸Ã÷Êǵ¼³öÕû¸öÊý¾Ý¿â,ÔòÕâ¸ö²ÎÊýÊÇÎļþ´æ·Å·¾¶,ÎļþÃû×Ô¶¯ÓñíÃû.txt,@isout bit --1Ϊµ¼³ö,0Ϊµ¼Èëasdeclare @sql varchar(8000)if @tbname like '%.%.%' --Èç¹ûÖ¸¶¨Á˱íÃû,ÔòÖ±½Óµ¼³öµ¥¸ö±íbeginset @sql='bcp '+@tbname+case when @isout=1 then ' out ' else ' in ' end+' "'+@filename+'" /w'+' /S '+@servername+case when isnull(@username,'')='' then '' else ' /U '+@username end +' /P '+isnull(@password,'')exec master..xp_cmdshell @sqlendelsebegin --µ¼³öÕû¸öÊý¾Ý¿â,¶¨ÒåÓαê,È¡³öËùÓеÄÓû§±ídeclare @m_tbname varchar(250)if right(@filename,1)<>'\' set @filename=@filename+'\'set @m_tbname='declare #tb cursor for select name from'+@tbname+'..sysobjects where xtype=''U'''exec(@m_tbname)open #tbfetch next from #tb into @m_tbnamewhile @@fetch_status=0beginset @sql='bcp '+@tbname+'..'+@m_tbname+case when @isout=1 then ' out ' else ' in ' end+' "'+@filename+@m_tbname+'.txt " /w'+' /S '+@servername+case when isnull(@username,'')='' then '' else ' /U '+@username end +' /P '+isnull(@password,'')exec master..xp_cmdshell @sqlfetch next from #tb into @m_tbnameendclose #tbdeallocate #tbendgo/************* Oracle **************/EXEC sp_addlinkedserver 'OracleSvr','Oracle 7.3','MSDAORA','ORCLDB'GOdelete from openquery(mailser,'select * from yulin')select * from openquery(mailser,'select * from yulin')update openquery(mailser,'select * from yulin where id=15')set disorder=555,catago=888insert into openquery(mailser,'select disorder,catago from yulin')values(333,777)²¹³ä£º¶ÔÓÚÓÃbcpµ¼³ö,ÊÇûÓÐ×Ö¶ÎÃûµÄ.ÓÃopenrowsetµ¼³ö,ÐèÒªÊÂÏȽ¨ºÃ±í.ÓÃopenrowsetµ¼Èë,³ýACCESS¼°EXCELÍâ,¾ù²»Ö§³Ö·Ç±¾»úÊý¾Ýµ¼Èë.。

实例,C#导出.dbf格式文件

实例,C#导出.dbf格式文件

实例,C#导出.dbf格式⽂件using System;using System.Collectionsusing System.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.IO;using System.Text;using System.Data.Odbc;using EC;public partial class admin_aspx_default_bm_out_dbf : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){#region 创建dbf副本string _f = "stu_info";string tbl = Server.MapPath("/" + _f + ".dbf");string fileTemName = _f + "_" + DateTime.Now.ToShortDateString();string filetemPath = Server.MapPath("/dbf/" + fileTemName + ".dbf");File.Copy(tbl, filetemPath, true);#endregion#region 创建连接System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection();string table = filetemPath;string connStr = @"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=" + table +";Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO";conn.ConnectionString = connStr;conn.Open();#endregion#region 写⼊DbObject db = new DbObject();DataSet ds = db.GetDataSet("select * from bm_zhanghao where IsStuInfo=0 and flg=恭喜您,报名成功");for (int i = 0; i < ds.Tables[0].Rows.Count; i++){OdbcCommand cmd = new OdbcCommand();cmd.Connection = conn;string sql = "insert into " + table + "([学号],[学⽣姓名],[性别名称],[证件号码],[年级],[班级名称],[专业名称],[学院名称],[层次名称],[形式名称],[学⽣类别名],[校区名称],[港澳侨台],[教⼯⼦⼥],[学制],[⼿机],[省份名称],[民族名称],[⼊学标志],[处理结果],[银⾏帐号],[准考证号]) values(" + ds.Tables[0].Rows[i]["jfh"].ToString() + "," + ds.Tables[0].Rows[i]["name"].ToString() + "," + GuanLian1(ds.Tables[0].Rows[i]["id"].ToString(), "bm_info", "xingbie") + "," + ds.Tables[0].Rows[i]["code"].ToString() + "," + System.DateTime.Now.Year.ToString() + ",⾃主招⽣班,⾃主招⽣,⾃主招⽣,报名费,⼀次性,,,,,,,,,,,," + ds.Tables[0].Rows[i]["kaohao"].ToString() + ");";mandText = sql;mandType = CommandType.Text;cmd.ExecuteNonQuery();//更新IsStuInfo=1// db.ExecuteSql("update bm_zhanghao set IsStuInfo=1 where id=" + ds.Tables[0].Rows[i]["id"].ToString());}ds.Clear();ds.Dispose();db.Dispose();conn.Close();conn.Dispose();#endregion#region 弹出导出对话框Response.ContentType = "application/x-zip-compressed";Response.AddHeader("Content-Disposition", "attachment;filename=学⽣信息导⼊_" + DateTime.Now.ToLongDateString() + ".dbf"); string filename = filetemPath;Response.TransmitFile(filename);#endregion}#region 整形绑定关联值/// <summary>/// 整形绑定关联值/// </summary>/// <param name="id">条件参数</param>/// <returns></returns>public string GuanLian(string id, string tbl, string fld){string Rn = id;if (!string.IsNullOrEmpty(id)){if (Fun.IsNumber(id)){DbObject db = new DbObject();string sql = "select " + fld + " from " + tbl + " where id=" + id;DataSet ds = db.GetDataSet(sql);if (ds.Tables[0].Rows.Count > 0){Rn = ds.Tables[0].Rows[0][0].ToString();}ds.Clear();ds.Dispose();db.Dispose();}}return Rn;}private string GuanLian1(string id, string tbl, string fld){string Rn = id;if (!string.IsNullOrEmpty(id)){if (Fun.IsNumber(id)){DbObject db = new DbObject();string sql = "select " + fld + " from " + tbl + " where uid=" + id;DataSet ds = db.GetDataSet(sql);if (ds.Tables[0].Rows.Count > 0){Rn = ds.Tables[0].Rows[0][0].ToString();}ds.Clear();ds.Dispose();db.Dispose();}}return Rn;}#endregion}。

DBF与ACCESS的导入、导出

DBF与ACCESS的导入、导出

DBF与ACCESS的导入、导出----------DBF 导入 ACCESS----------delphi_media方法一:用ACCESS中“文件”->“获取外部数据”->“导入”方法二:用ACCESS中“文件”->“获取外部数据”->“导入”,然后文件类型选择ODBC Database(),即用数据源方式导入*****注:以上两种方法不是完全凑效,有时提示“外部表不是预期的格式”。

方法三:用VFP连接ACCESS,然后用代码把DBF数据一条一条写入ACCESS。

就像写入SQL一样方法四:先把DBF转成EXCEL或TXT,然再用方法一进行导入。

注:DBF表如果不含用备注字段,直接用COPY TO 表名.XLS type xl5 转成EXCEL,如果含用备注型字段,必须用下面方法转成EXCEL:****DbfToExcel.PRG****CLOSE DATABASES ALLSET DATE YMDSET CENTURY ONcDbfFile = GETFILE("dbf")IF EMPTY(cDbfFile)RETURNENDIFUSE (cDbfFile) ALIAS FoxTable IN 0IF NOT USED("FoxT able")=MESSAGEBOX("打开表失败,程序将中止!", 16, "Error")RETURNENDIFcExcelFile = PUTFILE("保存为(&N):",JUSTSTEM(cDbfFile)+".xls","xls")IF EMPTY(cExcelFile)CLOSE DA TABASES ALLRETURNENDIFSELECT FoxTableoExcelSheet = GETOBJECT("","Excel.Sheet") && 产生Excel对象IF NOT TYPE("oExcelSheet") = "O"=MESSAGEBOX("Excel对象创建失败,程序将中止!", 16, "Error")RETURNENDIFoExcelApp = oExcelSheet.APPLICATIONoExcelApp.Workbooks.ADD()oExcelApp.ActiveWindow.WINDOWSTA TE=2oSheet = oExcelApp.ActiveSheetnFldCount = AFIELDS(aFldList, "FoxTable")FOR i = 1 TO nFldCountoSheet.Cells(1,i).V ALUE = aFldList[i, 1]ENDFORcRecc = STR(RECCOUNT("FoxTable"))SCANWAIT WINDOW ALLTRIM(STR(RECNO())) + "/" + cRecc NOWAITFOR i = 1 TO nFldCountvValue = .NULL.IF AT(aFldList[i, 2], "CDLMNFIBYT") = 0LOOPENDIFcFldName = aFldList[i, 1]vValue = EV ALUATE(cFldName)DO CASECASE aFldList[i, 2] = "C" && 字符/字符串vValue = TRIM(vValue)CASE aFldList[i, 2] = "D" && 日期vValue = DTOC(vValue)CASE aFldList[i, 2] = "T" && 日期时间vValue = TTOC(vValue)CASE INLIST(aFldList[i, 2], "N", "F", "I", "B", "Y") && 数值CASE aFldList[i, 2] = "L" && 逻辑CASE aFldList[i, 2] = "M" && 备注型OTHERWISEvValue = .NULL.ENDCASEIF VARTYPE(vValue) = "C" AND EMPTY(vValue)LOOPENDIFIF NOT ISNULL(vValue)oSheet.Cells(RECNO("FoxTable")+1, i).VALUE = vValue ENDIF ENDFORENDSCANcChrStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"FOR i = 1 TO nFldCountcColumn = SUBSTR(cChrStr, INT((i-1)/26), 1) + SUBSTR(cChrStr, IIF(MOD(i, 26)= 0, 26, MOD(i, 26)) , 1)oSheet.COLUMNS(cColumn + ":" + cColumn).COLUMNWIDTH = 12 IF aFldList[i, 2] = "M"oSheet.COLUMNS(cColumn + ":" + cColumn).WrapText = .F.ENDIFENDFORoExcelApp.ActiveWorkbook.SA VEAS(cExcelFile)oExcelApp.ActiveWorkbook.CLOSE(.F.)oExcelApp.ActiveWorkbook.CLOSE(.F.)oExcelApp.QUIToExcelSheet = .NULL.oExcelApp = .NULL.WAIT CLEAR=MESSAGEBOX("转换完毕!", 64, "OK")CLOSE DATABASES ALL----------ACCESS 导出 DBF----------打开ACCESS库后,右单击要导出的表,选择“导出”,出现对话诓后,把“保存类型”选为“*.dbf”,(注意“文件名”不要超过8位,超过8位后系统会自动截取前8位)然后点击“保存即可”。

SQL/DS表文件转换成DBF文件的实践

SQL/DS表文件转换成DBF文件的实践

SQL/DS表文件转换成DBF文件的实践
呙平勃
【期刊名称】《计算机工程与应用》
【年(卷),期】1991(000)004
【摘要】本文作为《DBF文件装入到SQL/DS表文件的实践》一文的补充,全面地、详尽地分析了SQL/DS数据库表文件和DBASE-Ⅲ数据库DBF文件的文件组织形
式与存贮结构。

并且通过分析,提出了一种把IBM-4381机中的SQL/DS表文件转换成微机上的DBASE-ⅢDBF文件的方法。

【总页数】6页(P25-29,67)
【作者】呙平勃
【作者单位】无
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.将DBF文件转换成XLS文件的方法 [J], 胡南珍
2.DBF文件转换成ORACLE基表的实现 [J], 张文东;聂惠兰;张卫平
3.DBF文件装入到SQL/DS表文件的实践 [J], 呙平勃;肖琳
4.用JSP/Servlet和JavaBeans技术实现SQL Server表与DBF文件的相互转换[J], 李颖;李建民;林振荣
5.用FoxPro实现.DBF文件向SQL表的直接转换 [J], 张文东;许大堂
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*--数据导出dBase
导出表中的数据到dBase,如果文件不存在,将自动创建文件
基于通用性考虑,仅支持导出标准数据类型
--*/
/*--调用示例
--导出dBase
p_exporttb @tbname='地区资料',@path='c:\',@over=0
--*/
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
create proc p_exporttb
@tbname sysname, --要导出的表名
@path nvarchar(1000), --文件存放目录
@fname nvarchar(250)='', --文件名,默认为表名
--导入数据
exec('insert into '+@sql+'('+@fdlist+') select '+@fdlist+' from '+@tbname)
return
lberr:
exec sp_oageterrorinfo 0,@src out,@desc out
lbexit:
sql导出dbf文件存储过程
这里,就SqlServer,DBF两种格式的转化问题做个总结。
一: 从dBase文件中,导入数据到SQL数据库中,很简单,直接用下面的语句:
/*===================================================================*/
when in('smalldatetime','datetime') then 'datetime'
when in('money','smallmoney') then 'money'
else end
FROM syscolumns a left join systypes b on a.xtype=b.xusertype
--如果接受数据导入的表已经存在
insert into 表 select * from
openrowset('MICROSOFT.JET.OLEDB.4.0'
,'dBase 5.0;DATABASE=c:\','select * from [test.dbf]')
--如果导入数据并生成表
+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)
if @over=1
begin
exec @err=sp_oamethod @obj,'execute',@out out,@sql
if @err<>0 goto lberr
end
exec @err=sp_oadestroy @obj
set @sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''dBase 5.0;DATABASE='
+@path+''',''select * from ['+@fname+']'')'
@over bit=0 --是否覆盖已经存在的文件,如果不覆盖,则直接追加
as
declare @err int,@src nvarchar(255),@desc nvarchar(255),@out int
declare @obj int,@constr nvarchar(1000),@sql varchar(8000),@fdlist varchar(8000)
exec master..xp_cmdshell @sql,no_output
end
else
set @over=0
else
set @over=1
--数据库创建语句
set @sql=@path+@fname
set @constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="dBASE 5.0;'
select cast(@err as varbinary(4)) as 错误号
,@src as 错误源,@desc as 错误描述
select @sql,@constr,@fdlist
go
select * into 表 from
openrowset('MICROSOFT.JET.OLEDB.4.0'
,'dBase 5.0;DATABASE=c:\','select * from [test.dbf]')
/*===================================================================*/
+';HDR=NO;DATABASE='+@path+'"'
--连接数据库
exec @err=sp_oacreate 'adodb.connection',@obj out
if @err<>0 goto lberr
exec @err=sp_oamethod @obj,'open',null,@constr
--如果从SQL数据库中,导出数据到dBase,如果dBase文件已经存在,就可以简单的用:
insert into
openrowset('MICROSOFT.JET.OLEDB.4.0'
,'dBase 5.0;DATABASE=c:\','select * from [test.dbf]')
where not in('image','text','uniqueidentifier','sql_variant','ntext','varbinary','binary','timestamp')
and object_id(@tbname)=id
select @sql='create table ['+@fname
@err<>0 goto lberr
--创建表的SQL
select @sql='',@fdlist=''
select @fdlist=@fdlist+','+
,@sql=@sql+',['++'] '
+case when in('char','nchar','varchar','nvarchar') then
'text('+cast(case when a.length>250 then 250 else a.length end as varchar)+')'
when in('tynyint','int','bigint','tinyint') then 'int'
--参数检测
if isnull(@fname,'')='' set @fname=@tbname+'.dbf'
--检查文件是否已经存在
if right(@path,1)<>'\' set @path=@path+'\'
create table #tb(a bit,b bit,c bit)
select * from 表
/*--说明:
DATABASE=c:\ c:\是dbf文件的存放目录
'select * from [test.dbf] test.dbf是指dbf文件名
--*/
二 如果dBase文件不存在,就需要用到下面的存储过程了.
set @sql=@path+@fname
insert into #tb exec master..xp_fileexist @sql
if exists(select 1 from #tb where a=1)
if @over=1
begin
set @sql='del '+@sql
相关文档
最新文档