跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Server 2005 和 Sql Server 2008 中执行!
格式如下:
insert into tableA
SELECT * FROM
OPENDATASOURCE('SQLOLEDB', 'Data Source=127.0.0.1;User ID=sa;Password=sasasa').databaseName.dbo.tableB
找到这个方法后,准备执行,可是却并不太顺利,跨库复制表数据的途中,接连出现两个错误,第一个错误:
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.
翻译:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
解决办法:
启用 Ad Hoc Distributed Queries:exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
待插入完成后再关闭 Ad Hoc Distributed Queries:exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
错误2 :
An explicit value for the identity column in table 'cms_TagSubject' can only be specified when a column list is used and IDENTITY_INSERT is ON.
这个真的很纠结,没办法,只有 google 了,之后发现可以 在执行的 SQL 语句前后加上:SET IDENTITY_INSERT tableA ON
--执行的SQL
SET IDENTITY_INSERT tableB ON
试过之后,发现这个方法并不能解决,无奈,最后 找了半天,在国外论坛找到了解决办法,就是,要写查入列的详细信息
解决办法:
insert into tableA (column1,column2.....)
SELECT * FROM
OPENDATASOURCE('SQLOLEDB', 'Data Source=127.0.0.1,3422;User ID=sa;Password=sasasa;').databaseName.dbo.tableB
终于大功告成,另外,利用这种方法,还是可以直接从 Excel 里面查询的,呵呵,真强大:
SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=D:\a.xls',[sheet1$])
跨库复制表数据,一种很好的方法,呵呵,希望能对大家有所帮助
http://blog.sina.com.cn/s/blog_538427f80100vzg3.html
分享到:
相关推荐
### SQLServer数据仓库解决方案 #### 一、概述 SQL Server 数据仓库是一种高度集成的企业级解决方案,旨在为企业提供高效的数据分析和决策支持能力。通过整合来自多个数据源的信息,SQL Server 数据仓库帮助组织...
在SQL Server环境中,有时我们需要将一个数据库中的某个表复制到另一个数据库中,这可能是为了备份、数据迁移或创建测试环境等目的。根据提供的标题、描述和部分代码内容,我们可以整理出一套较为完整的操作流程和...
@srvproduct=N'SQLServer'; -- 使用OpenRowSet复制数据 INSERT INTO OpenRowset('SQLOLEDB', 'localhost;sa;123', 'Test.dbo.Table_B') SELECT * FROM Test.dbo.Table_A; ``` 需要注意的是,这里的示例代码可能...
下面将详细介绍使用 SQL Server 将表从一个数据库复制到另一个数据库的方法。 创建链接服务器 在 SQL Server 中,可以使用 sp_addlinkedserver 存储过程来创建一个链接服务器。链接服务器是一种虚拟的服务器,它...
### 如何在两个SQLSERVER之间实现数据同步 在IT领域,特别是对于企业级应用而言,数据同步是一项重要的技术,能够确保不同地理位置的数据中心之间数据的一致性和可用性。本文将详细介绍如何通过SQL Server的复制...
在SQL Server中,将表从一个数据库复制到另一个数据库的过程涉及到数据库对象的迁移,这通常通过创建表的结构脚本和数据迁移来实现。以下是一个详细的步骤指南: 1. **启动SQL Server Management Studio (SSMS)**: ...
### 利用SQL Server复制技术实现数据同步更新 #### 概述 在现代企业级应用环境中,为了确保数据的一致性和高效性,SQL Server 复制技术被广泛应用于多站点或多服务器之间的数据同步。本文将详细阐述如何通过SQL ...
"sqlA库某表到B库某表同步"这个标题涉及到的就是如何将一个SQL Server数据库(sqlA)中的某个表的数据实时或定时地更新到另一个SQL Server数据库(sqlB)的相应表中。下面我们将深入探讨这个过程,以及相关的SQL ...
但是表的数据量太大,一时也想不到怎么把sqlserver表数据复制到oracle中,于是请教公司主管,用存储过程实现可以查询出所有数据的insert脚本,在oracle库中创建好表,直接把sqlserver中的insert脚本复制到oracle执行...
3. **SQLServer查询分析器使用代码导入数据** - 此方法需要一些前提条件: - 安装Microsoft Access 2010数据库引擎可再发行程序包。 - 配置Microsoft.ACE.OLEDB.12.0接口参数,启用动态参数和允许进程内选项。 -...
通过对SQL Server复制机制的理解及实施步骤的学习,我们可以有效地实现两台SQL Server之间的数据同步。无论是选择快照复制、事务复制还是合并复制,都能根据实际应用场景的需求灵活配置。此外,通过手动同步方案,也...
总之,“SQLServer数据库表中数据导出成SQL语句工具”是一种方便的解决方案,它简化了数据库表数据的导出过程,便于在不同环境间进行数据迁移和备份。了解并熟练掌握这类工具的使用,对于SQL Server管理员和开发人员...
总结来说,构建SQL Server数据仓库涉及到数据复制、数据加载、数据仓库设计、数据挖掘和用户界面开发等多个环节。通过有效的数据管理策略和工具,企业可以充分利用其数据资产,提升业务洞察力,驱动更好的决策。
接着,将OGG for Sqlserver的软件包解压缩到指定目录,比如"ogg",然后通过`install addservice`命令在CMD中注册Windows服务,包括源端和目标端的Manager进程。 创建ODBC数据源命名(DSN)是连接SQL Server的关键...
### SQL Server跨服务器连接的多种方法 #### 一、引言 在企业级应用中,经常需要在不同的SQL Server实例之间进行数据交换或共享。为了实现这一目标,SQL Server提供了几种跨服务器连接的方法,每种方法都有其特点和...
《SQL 2000 同步过程》和《SQLServer2000同步复制技术实现步骤》将深入解析整个同步流程,包括可能出现的问题和解决方法。 总之,SQL Server 2000的同步复制技术是通过精心设计的复制类型、代理服务和监控机制,...
### 两台SQL Server数据同步解决方案详解 #### 一、引言 在现代企业级应用中,为了确保数据的高度可用性和...理解和掌握SQL Server复制的原理及实施方法,可以帮助企业级应用更好地管理和维护数据的一致性与完整性。
首先,我们来看标题提到的“连接mysql sqlserver的两个数据库”。这通常涉及到数据库之间的数据迁移、同步或者跨平台查询。为了实现这一目标,我们需要借助特定的驱动程序和工具。 在提供的压缩包文件中,有两个...
sql server 2005 使用同步复制、RDA C#源码”表明我们讨论的是一个关于在C#编程环境中,使用SQL Server Compact 3.5(一个轻量级的数据库引擎)连接到SQL Server 2005,并实现数据同步和远程数据访问(RDA)的技术...