在查询分析器中,通过SQLDMO来得到脚本

原创 2004年12月30日 13:08:00

--用以下脚本,可以得到任意对象的创建时的脚本,网上好像也流传有,但属于自己的东西用着还是感觉舒坦.
--增加快捷键后,然后在查询分析器中按相应的快捷键就能显示对象的脚本.
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

 

 

ALTER    procedure sp_script
        @objectname varchar(50)
as
declare @databasename varchar(50)

set @databasename = DB_NAME(DB_ID())

declare        @str varchar(4000)


DECLARE @object int
declare @objectdatabase int
DECLARE @hr int
DECLARE @src varchar(255), @desc varchar(255)
DECLARE @DataBaseCount int, @Current int, @DataBase int

declare @table int, @tables int

EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT
IF @hr <> 0
BEGIN
     EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
    RETURN
END

EXEC @hr = sp_OAMethod @object, 'Connect', NULL, @@servername,
    'sa', ''

IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @object
    RETURN
END

EXEC @hr = sp_OAGetProperty @object, 'Databases', @objectdatabase output

IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @objectdatabase, @src OUT, @desc OUT
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
    RETURN
END

 

EXEC @hr = sp_OAGetProperty @objectdatabase, 'count', @DataBaseCount output
IF @hr <> 0
BEGIN
   EXEC sp_OAGetErrorInfo @objectdatabase, @src OUT, @desc OUT
   SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc
    RETURN
END


set @Current = 1
loop1:

  EXEC @hr = sp_OAMethod @objectdatabase, 'Item', @Database output, @databasename

  IF @hr <> 0
  BEGIN
    EXEC sp_OAGetErrorInfo @objectdatabase
     RETURN
  END


EXEC @hr = sp_OAMethod @Database, 'GetObjectByName', @table output, @objectname

  IF @hr <> 0
  BEGIN
    EXEC sp_OAGetErrorInfo @Database
     RETURN
  END

Exec @hr = sp_OAMethod @table, 'Script', @str output, 5
  IF @hr <> 0
  BEGIN
    EXEC sp_OAGetErrorInfo @table
     RETURN
  END


print @str

 

 


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

DB 查询分析器 6.04 在 Windows 10 上的安装与运行展示

万能数据库查询分析器(中文版本《DB 查询分析器》、英文版本《DB Query Analyzer》)拥有强大的功能、友好的操作界面、良好的操作性、跨越数据库平台。你可以通过它查询ODBC数据源(包括世...
  • magenfeng
  • magenfeng
  • 2015年09月06日 08:08
  • 5803

eas bos 常用代码

.replace("[", "'").replace("]", "'").replace(", ", "', '")   EAS系统菜单表    T_BAS_SysMenuItem      /...
  • wwsq2
  • wwsq2
  • 2017年05月18日 09:37
  • 409

sql server2000查询分析器中如何将查询结果导出到Excel且带表头

1、新建视图(根据要查询的关联表sql语句来新建,如果是导出单表信息则略过此步) 2、新建一个空excel(以excel2007为例) 3、打开excel,点击数据--自其他来源--来自sql ser...
  • haibin_hu
  • haibin_hu
  • 2016年08月12日 11:32
  • 1509

SQL Server 2008 中使用SQLDMO 备份数据 还原数据等

 SQL Server 异常 COM 类工厂中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80070005 ...
  • yanzhibo
  • yanzhibo
  • 2014年03月18日 23:04
  • 3479

C#备份还原数据库(sqldmo.dll篇)

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microso...
  • cuoban
  • cuoban
  • 2014年12月21日 04:29
  • 334

十三年磨一剑,万能数据库查询分析器7.023版本 发布

十三年磨一剑,从2003年就开始进行万能数据库查询分析器的研究与开发,到2006年万能数据库查询分析器1.0版本面世,再到2016年12月26日最新版本7.023发布,13年间本人一直致力于增强万能数...
  • magenfeng
  • magenfeng
  • 2016年12月28日 08:31
  • 2970

SQLDMO数据库备份还原 带进度条

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...
  • hutao1101175783
  • hutao1101175783
  • 2014年03月29日 10:51
  • 1822

php如何得到当前执行脚本路径,包括所得到参数

php如何得到当前执行脚本路径,包括所得到参数 "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."?".$_SERVER['QUER...
  • Sparkjin
  • Sparkjin
  • 2013年08月04日 11:29
  • 2058

solr查询 - 标准查询分析器

Solr默认的查询分析器使用的lucene分析器。 标准查询分析器的主要优势在于它支持强大且直观的语法,允许创建各种结构化的查询。与DisMax查询分析器相比,最大的缺点是它不能够容忍语法错误,而D...
  • conansix
  • conansix
  • 2015年11月04日 23:13
  • 1552

LL(1)语法分析器 //c++实现

#include #include #include #include #include #include #include using namespace std; mapgetnum; char ...
  • u011498819
  • u011498819
  • 2014年06月28日 10:53
  • 3960
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在查询分析器中,通过SQLDMO来得到脚本
举报原因:
原因补充:

(最多只允许输入30个字)