所谓的数据传输,其实是指SQLServer访问Access、Excel间的数据。
为什么要考虑到这个问题呢?
由于历史的原因,客户以前的数据很多都是在存入在文本数据库中,如Acess、Excel、Foxpro。现在系统升级及数据库服务器如SQLServer、ORACLE后,经常需要访问文本数据库中的数据,所以就会产生这样的需求。前段时间出差的项目,就是面临这样的一个问题:SQLServer和VFP之间的数据交换。
要完成标题的需要,在SQLServer中是一件非常简单的事情。
通常的可以有3种方式:1、DTS工具 2、BCP 3、分布式查询
DTS就不需要说了,因为那是图形化操作界面,很容易上手。
这里主要讲下后面两们,分别以查、增、删、改作为简单的例子:
下面废话就不说了,直接以T-SQL的形式表现出来。
一、SQLServer和Access
1、查询Access中数据的方法:
select * from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
或
select * from OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="c:\DB2.mdb";User ID=Admin;Password=')...serv_user
2、从SQLServer向Access写数据:
insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from Accee表')
select * from SQLServer表
或用BCP
master..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" out "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'
上面的区别主要是:OpenRowSet需要mdb和表存在,BCP会在不存在的时候生成该mdb
3、从Access向SQLServer写数据:有了上面的基础,这个就很简单了
insert into SQLServer表 select * from
OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from Accee表')
或用BCP
master..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" in "c:\db3.mdb" -c -q -S"." -U"sa" -P"sa"'
4、删除Access数据:
delete from OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
where lock=0
5、修改Access数据:
update OpenRowSet('microsoft.jet.oledb.4.0',';database=c:\db2.mdb','select * from serv_user')
set lock=1
SQLServer和Access大致就这么多。
二、SQLServer和Excel
1、向Excel查询
select * from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\book1.xls;','select * from [Sheet1$]') where c like '%f%'
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;IMEX=2;DATABASE=c:\book1.xls',[sheet1$])
1)hdr=yes时可以把xls的第1行作为字段看待,如第1个中hdr=no的话,where时就会报错
2)[]和美圆$必须要,否则M$可不认这个账
2、修改Execl
update OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;hdr=yes;database=c:\book1.xls;','select * from [Sheet1$]')
set a='erquan' where c like '%f%'
3、导入导出
insert into OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;hdr=yes;database=c:\book1.xls;','select * from [Sheet2$]')(id,name)
select id,name from serv_user
或BCP
master..xp_cmdshell'bcp "serv-htjs.dbo.serv_user" out "c:\book2.xls" -c -q -S"." -U"sa" -P"sa"'
从Excel向SQLServer导入:
select * into serv_user_bak
from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=c:\book1.xls;','select * from [Sheet1$]')
如果表serv_user_bak不存在,则创建
有关BCP和分布式查询的详细解答,就查SQLServer自带的帮助吧。
SQLServer和txt文件、HTML文件、VFP文件的数据交换都显得非常容易了。。。。
其实这些内容在帮助里都有,偶只不过是总结了一下,方便大家参考,呵呵~~
以上内容都经过测试~~
相关推荐
对于Excel数据导入SQL,操作也相对简单: 1. 打开Excel工作簿,保存包含数据的工作表,确保数据格式符合SQL Server的要求。 2. 在SQL Server Management Studio (SSMS) 中,连接到你的SQL Server实例。 3. 右键点击...
SQL Server的DTS(Data Transformation Services)是进行数据迁移的强大工具,尤其适用于从Access到SQL Server的数据传输。具体步骤如下: 1. 在SQL Server企业管理器中,通过“工具”菜单中的“数据转换服务”启动...
反之,如果需要将SQL数据库中的数据导出为Excel格式,SSMS提供了“导出数据”功能,可以创建一个数据传输包,选择目标格式为Excel。另外,通过编写T-SQL查询并使用`BCP`命令行工具或`sqlcmd`也可以将结果集输出到...
* AccessDatabaseEngine.exe:这是一个由 Microsoft 提供的数据连接软件,用于连接 Excel 文件和 SQL Server 数据库。 * Excel 文件:这是需要导入的数据文件,包含了需要导入的数据。 * SQL Server Management ...
### 将Excel表数据导入SQL ...通过上述三种方法,可以根据实际情况和个人喜好选择最适合的方式将Excel数据导入到SQL Server中。每种方法都有其适用场景,了解这些方法可以帮助提高工作效率,更好地管理和利用数据。
在IT领域,数据库管理和数据迁移是常见的任务,尤其是在SQL Server和Microsoft Access之间。这两个数据库管理系统虽然各有特点,但在数据处理方面都有其优势。本篇文章将详细介绍如何在SQL Server与Access之间进行...
SQL Server 2005的导入导出功能强大而灵活,支持多种数据源类型,包括SQL Server自身、.NET Framework、OLE DB以及其他办公软件如Excel和Access。正确选择和配置数据源对于确保数据迁移的效率和质量至关重要。在实际...
*.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时...
*.xlsb)文件)与其他数据源(例如 Microsoft SQL Server)之间传输数据。还支持与现有文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时...
在SQL Server 2005中,导入数据是一项常见的任务,尤其对于数据库管理员和开发人员来说,这可能是日常工作中的一部分。本教程将详细介绍如何在SQL Server 2005环境中导入数据,帮助用户掌握这一核心技能。 首先,...
- 在SQL Server与Access数据库之间导入导出数据,支持跨平台数据交互。 - 将SQL Server数据导出至Excel表格,简化数据分析工作。 - 在不同服务器间的数据库间进行数据传输,实现数据同步与共享。 通过上述实训,...
1. **Excel/CSV导入**:先将Access数据导出为Excel或CSV文件,然后在SQL Server中使用“导入和导出数据”工具将其导入。 2. **直接导入**:如果Access数据库是mdb格式,可以直接在SSMS中导入,如果是accdb格式,则...
总结来说,SQL Server 2008的数据导出功能是一个强大且用户友好的工具,它使数据库管理员能够灵活地管理数据,进行数据迁移和备份。通过掌握这个功能,我们可以更加高效地进行数据操作,提高工作效率,并确保数据的...
接下来,文件还提到了DTS,这是SQL Server早期版本中的数据传输服务(Data Transformation Services),用于数据迁移和转换。虽然在最新版本的SQL Server中已被SSIS(SQL Server Integration Services)取代,但DTS...
数据库的数据传输是一个重要的任务,特别是在不同的数据库系统之间迁移或整合数据。本篇PPT资料主要讲解了SQL Server 2000中的数据转换服务(DTS)以及数据库的分离与附加功能。 数据转换服务(DTS)是SQL Server ...
- Access到SQL:利用Access的`DoCmd.TransferText`方法,或者使用Excel作为临时中介,先将Access数据导出到Excel,再导入到SQL Server。 3. **代码实现:** - 通常,开发者会使用Python的`pyodbc`库,Java的JDBC...
在C#中,高效地将Excel数据导入到SQL Server数据库是一项常见的任务,特别是在处理大量数据时,速度和准确性显得尤为重要。传统的做法是通过循环遍历Excel数据并逐条插入SQL Server,这种方法不仅耗时,还可能导致...
DTS的设计目的是简化数据迁移、格式转换和数据库对象的传输,它支持多种数据源,包括SQL Server、Oracle、ODBC、Access、Visual FoxPro、DBase、Paradox和Excel等。 1. **DTS包**: DTS包是DTS的核心组成部分,它...
在数据迁移的具体操作中,以Access数据库向SQL Server迁移数据为例,可以通过以下步骤实现:首先在SQL Server的查询分析器中打开查询窗口,然后编写SQL语句将Access数据库中的指定表数据导入SQL Server的对应表中。...