- 浏览: 153835 次
- 性别:
- 来自: northeast
文章分类
最新评论
-
lightgjc1:
好,支持,赞一下
复制表结构的通用存储过程 -
star022:
很有个性~~
tomcat 异常 Exception loading sessions from persistent storag -
我奋斗:
我也觉得,混江湖的吧。
tomcat 异常 Exception loading sessions from persistent storag -
wenjinglian:
你的图片真的 ;豪放。。。
tomcat 异常 Exception loading sessions from persistent storag -
helenxiao520:
[/b][b][b][/b]
什么是集群?
复制表结构的通用存储过程 <o:p></o:p>
-- Transfer 对象的重要属性 <o:p></o:p>
-- 1. 属性 <o:p></o:p>
属性名
类型
描述
--------------------------------- ------------------- --------------------
CopyAllDefaults Boolean
所有默认值
CopyAllObjects Boolean
所有对象
CopyAllRules Boolean
所有规则
CopyAllStoredProcedures Boolean
所有存储过程
CopyAllTables Boolean
所有表
CopyAllTriggers Boolean
所有触发器
CopyAllUserDefinedDatatypes Boolean
所有用户自定义类型
CopyAllViews Boolean
所有视图
CopyData Boolean
所有数据
DestDatabase String
目标对象数据库
DestLogin String
目标数据库登陆用户名
DestPassword String
目标数据库登陆密码
DestServer String
目标服务器
DestUseTrustedConnection Boolean
用户信任连接
DropDestObjectsFirst Boolean
是否先删除目标对象
IncludeDependencies Boolean
是否包含依靠对象
ScriptType Boolean
脚本类型
<o:p></o:p>
-- 2. 重要方法 : <o:p></o:p>
方法名称
功能描述
--------------------------- --------------------------
AddObject
增加对象
AddObjectByName
通过对象名称增加对象
<o:p></o:p>
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[P_CopyDB]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[P_CopyDB]
GO
/*--
在
SQLServer
中使用
SQLDMO.Transfer
实现数据迁移
存储过程实现源数据库到目标数据库的对象和数据的复制
要求源数据库和目标数据库在同一服务器
如果是要实现不同服务器之间的复制,则需要增加验证信息
--
邹建
2005.07(
引用请保留此信息
)--*/
/*--
调用示例
CREATE DATABASE test
EXEC P_CopyDB @Source_DB='northwind',@Des_DB='test'
DROP DATABASE test
--*/
CREATE PROCEDURE P_CopyDB
@Des_DB sysname, --
目标数据库
@Obj_Type nvarchar(4000)=N'',--
复制的对象类型,可以是下列字符串列表:
-- O
所有对象,
D
默认值,
R
规则,
P
存储过程
-- T
表,
TR
触发器,
DT
用户定义数据类型
-- V
视图,
DATA
数据,
DEL
删除目标对象
@Source_DB sysname=N'', --
源数据库
@ServerName sysname=N'', --
服务器名
@UserName sysname=N'', --
用户名,不指定则表示使用
Windows
身份登录
@pwd sysname=N'' --
密码
AS
SET NOCOUNT ON
DECLARE @srvid int,@Dbid int,@S_dbid int,@D_dbid int,@TransferID int,
@err int,@src varchar(255), @desc varchar(255)
IF ISNULL(@ServerName,N'')=N'' SET @ServerName=@@SERVERNAME
IF ISNULL(@Source_DB,N'')=N'' SET @Source_DB=DB_NAME()<o:p></o:p>
--
创建
sqldmo
对象
·
EXEC @err=sp_oacreate 'sqldmo.sqlserver',@srvid OUT
IF @err<>0 GOTO lb_Err
--
连接服务器
IF ISNULL(@UserName,N'')=N'' --
使用
Windows
身份登录
BEGIN
EXEC @err=sp_oasetproperty @srvid,'loginsecure',-1
IF @err<>0 GOTO lb_Err
EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername
END
ELSE
EXEC @err=sp_oamethod @srvid,'connect',NULL,@servername,@UserName,@pwd
IF @err<>0 GOTO lb_Err
--
获取数据库集
EXEC @err=sp_oagetproperty @srvid,'databases',@Dbid OUT
IF @err<>0 GOTO lb_Err
--
选择源数据库
EXEC @err=sp_oamethod @Dbid,'item',@S_dbid OUT,@Source_DB
IF @err<>0 GOTO lb_Err
--
选择目标数据库
EXEC @err=sp_oamethod @Dbid,'item',@D_dbid OUT,@Des_DB
IF @err<>0 GOTO lb_Err
--
设置复制的对象
EXEC @err=sp_oacreate 'SQLDMO.Transfer',@TransferID OUT
IF @err<>0 GOTO lb_Err
--
设置目标服务器信息
EXEC @err=sp_oasetproperty @TransferID,'DestServer',@ServerName
IF @err<>0 GOTO lb_Err
--
设置连接用户
IF ISNULL(@UserName,N'')=N'' --
使用
Windows
身份登录
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestUseTrustedConnection',1
IF @err<>0 GOTO lb_Err
END
ELSE
BEGIN
EXEC @err=sp_oasetproperty @TransferID,'DestLogin',@UserName
IF @err<>0 GOTO lb_Err
EXEC @err=sp_oasetproperty @TransferID,'DestPassword',@pwd
IF @err<>0 GOTO lb_Err
END
--
设置复制对象信息
EXEC @err=sp_oasetproperty @TransferID,'DestDatabase',@Des_DB
IF @err<>0 GOTO lb_Err<o:p></o:p>
DECLARE tb CURSOR FAST_FORWARD LOCAL
FOR
SELECT Name FROM(
SELECT KeyWord=N',D,', Name=N'CopyAllDefaults' UNION ALL
SELECT KeyWord=N',O,', Name=N'CopyAllObjects' UNION ALL
SELECT KeyWord=N',R,', Name=N'CopyAllRules' UNION ALL
SELECT KeyWord=N',P,', Name=N'CopyAllStoredProcedures' UNION ALL
SELECT KeyWord=N',T,', Name=N'CopyAllTables' UNION ALL
SELECT KeyWord=N',TR,', Name=N'CopyAllTriggers' UNION ALL
SELECT KeyWord=N',DT,', Name=N'CopyAllUserDefinedDatatypes' UNION ALL
SELECT KeyWord=N',V,', Name=N'CopyAllViews' UNION ALL
SELECT KeyWord=N',DATA,',Name=N'CopyData' UNION ALL
SELECT KeyWord=N',DEL,', Name=N'DropDestObjectsFirst'
)A WHERE CHARINDEX(KeyWord,
CASE WHEN ISNULL(@Obj_Type,N'')='' THEN ',O,DATA,' ELSE @Obj_Type END)>0
OPEN tb
FETCH tb INTO @src
WHILE @@FETCH_STATUS=0
BEGIN
EXEC @err=sp_oasetproperty @TransferID,@src,1
IF @err<>0 GOTO lb_Err
FETCH tb INTO @src
END
CLOSE tb
DEALLOCATE tb
--
复制对象
EXEC @err=sp_oamethod @S_dbid,'Transfer',null,@TransferID
IF @err<>0 GOTO lb_Err
--
结束
SET @err=0
GOTO lb_Exit
--
错误处理
lb_Err:
EXEC sp_oageterrorinfo NULL, @src OUT, @desc OUT
RAISERROR(N'
错误编号
%#x,
错误源
"%s",
错误描述
"%s"',16,1,@err,@src,@desc)
RETURN -1
lb_Exit:
EXEC sp_OADestroy @Dbid
EXEC sp_OADestroy @srvid
EXEC sp_OADestroy @TransferID
RETURN @err
GO
发表评论
-
优雅降级/过载保护
2012-06-28 10:51 0何谓降级,如何降级 系统通常提供了多种功能,这些功能会有重要 ... -
Copy-on-write, 写时复制
2012-04-13 17:24 0Oracle.JRockit.The.Definitive.G ... -
思路,临时想法
2012-02-02 16:53 0提高IO效率,均衡、分治,顺序,减少次数 1. 随机IO变顺 ... -
Problem with WebappClassLoader in background thread
2011-09-22 15:24 0Web应用中线程问题(Problem with WebappC ... -
SimpleDateFormat格式化时间与Locale的关系
2011-07-04 17:50 2630遇到格式化时间问题,在英文操作系统环境中,如下 import ... -
缓存文件描述符
2011-06-10 12:46 0文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和 ... -
IE缓存机制
2011-06-10 12:20 2436一、IE缓存机制 IE的缓存是以URL为标识的文件形式存储。 ... -
Observer, events
2011-06-08 22:32 2扩展性架构&设计 观 ... -
非一致性,放弃分布式事务,舍弃一致性,异步去重,异步设计等
2010-01-27 19:32 0替代分布式事务的解 ... -
HTTP持久连接
2010-01-12 18:14 2977Persistent Connections What ... -
计算字符串中字节长度
2009-02-11 13:14 1169/* * * 计算字符串的字节长度(字母数字计1,汉字及标 ... -
oracle中判断记录是否存在
2009-02-11 12:42 1426避免全表扫描 使用select cal_id from CMS ... -
javascript
2008-07-30 21:24 948JavaScript中包含的几个预定义函数详解 ... -
【转】通过DatabaseLink连接远程Oracle数据表的错误,及其变通方法
2007-09-05 20:36 2504通过DatabaseLink连接远程O ... -
Rest基础 -杂烩[转]
2007-06-21 16:36 1783REST 是由 Roy Fielding 在他的论文《Arch ... -
数据仓库与olap基础
2007-05-21 10:34 2798多维数据模型与OLAP实现 2007-05-18 13:41 ... -
【转】数据库设计 术语
2007-04-02 10:30 1166... -
【转】动静态语言的语义思考
2007-03-14 17:12 1757动静态语言的语义思考 ... -
【转载】java操作Excel、PDF文件
2007-03-11 16:37 2010java操作Excel、PDF文件 ... -
【转载】spring 生成Excel和PDF文件
2007-03-11 16:15 4609spring 生成Excel和PDF文件 HTML页面并不 ...
相关推荐
在设计 MySQL 表结构时,NineData 提供了一个强大的可视化工具,使得用户无需手动编写 SQL 命令,只需通过鼠标操作即可完成整个过程。这个功能适用于 MySQL、MariaDB 和 OceanBase 数据源,大大简化了数据库开发者的...
EBTree是一种类模板,它可以存储任意类型的对象,被称为“软插件”,允许不同的应用程序直接使用这些通用的数据结构和方法。基本的数据元素Node在EBTree中扮演着至关重要的角色。Node类包含三个公共成员,Left指针...
在IT领域,数据结构是计算机科学中的核心概念,它涉及到如何高效地组织和存储数据,以便于进行各种操作。C++是一种广泛使用的编程语言,它提供了丰富的数据结构和算法库,使得开发人员能够构建高性能的应用程序。在...
在C语言中,链表是一种常见的数据结构,用于存储线性序列的数据。传统的链表通常针对特定类型的数据进行设计,这意味着每一个链表只能存储一种类型的数据。然而,在某些情况下,我们可能需要构建一种可以存储任意...
动态数组链表数据结构是一种特殊的数据结构,它将动态数组和链表的优点结合起来,形成了一种高效、灵活的数据存储方式。下面我们将详细介绍动态数组链表数据结构的组成、特点、优缺点和应用场景。 动态数组 动态...
在本文中,我们将深入探讨如何使用通用MapReduce程序来复制HBase表数据。MapReduce是一种分布式计算模型,常用于处理大规模数据集,而HBase是一个分布式、列式存储的NoSQL数据库,适合处理大规模结构化数据。通过...
此外,Oracle还提供了一些特有的功能,如PL/SQL(Procedural Language/SQL)——一种过程化的SQL,允许编写包含控制结构的存储过程和函数。 MySQL是一款开源、免费的关系数据库管理系统,它也遵循SQL标准,并且在...
安全注意事项部分详细列出了多项与安装设备相关的安全措施,包括通用安全事项、用电安全、静电安全、激光安全、电池安全、EMC注意事项、磁盘使用及搬运过程中的注意事项等。这些内容对于保证安装过程和设备运行的...
3. `--no-create-info`避免导出表结构,因为我们假设目标表已经存在。 4. `--set-gtid-purged=OFF`不包含与全局事务标识符(GTID)相关的信息。 5. `--result-file`指定输出文件的位置。 通过`mysqldump`命令生成的...
- **循环结构**:在VBA中,可以使用`For Each`循环遍历工作簿和工作表,找到所需数据并存储到变量中。例如,遍历所有打开的工作簿中的每个工作表,然后使用`Find`或`FindNext`方法查找特定值。 - **数据处理**:...
分布式存储层负责数据的分散存储,元数据管理维护表结构和分区信息,请求调度则根据负载均衡策略分发请求,一致性控制保障数据的一致性状态。 4. **使用条款与法律声明** 用户在使用表格存储服务时需遵守阿里云的...
- **定义**:SDB是一种用于存储用户邮件列表数据的通用存储平台。 - **适用范围**:主要用于存储索引类数据,如用户的邮件列表信息。 - **数据限制**:仅支持存储单条记录小于1MB的小数据,不支持存储邮件内容及附件...
广义表是一种更通用的数据结构,它可以表示包含其他数据结构(如列表)的列表。广义表的定义包括表头(Head)和表尾(Tail),可以用来表示嵌套的数据结构。常见的操作有获取表头和表尾元素。 最后,课件提到了两种...
数据结构是计算机科学中的核心概念,它涉及到如何高效地存储和操作数据。在C++编程中,实现数据结构可以帮助我们更好地理解和应用算法。本压缩包包含的代码专注于顺序表,这是最基础也是最常见的数据结构之一。 ...
- 复制表文件:可以复制表以备份数据或用于其他目的。 - 修改表的结构:在表已经创建后,可能需要添加、删除或修改字段,如更改字段类型、宽度等,这需要谨慎操作,以免影响现有数据。 此外,项目和项目管理器在...
这种方法可以作为通用策略,适用于其他不直接支持BLOB复制的数据库系统。但每种数据库系统都有其特性,因此在实际操作中可能需要调整上述步骤以适应特定的数据库平台。 总之,将DB2中的BLOB数据复制到Oracle涉及多...
- `COPY PROCEDURES`:将存储过程复制到文本文件,便于分享和备份。 - `COPY STRUCTURE`:创建新表的结构,但不包含数据,用于快速创建类似表结构。 - `COPY STRUCTURE EXTENDED`:创建新表,包含原表的附加信息...
图的邻接表和邻接矩阵是常见的两种存储结构。图的基本操作包括深度优先搜索(DFS)和广度优先搜索(BFS)遍历、最优树的生成、最短路径算法(如Dijkstra算法)、关键路径、拓扑排序等。 10. 查找算法和时间复杂度...
常规的数据库安装配置包括多个步骤:数据库管理系统的安装与配置、数据库的创建、数据表、视图、存储过程、触发器的建立、各种键值的创建以及初始数据的加载等。数据库的初始化必须精确地复制开发阶段设计的结构,...