得到数据库中任何对象的脚本
来源:互联网 发布:java如何保证线程安全 编辑:程序博客网 时间:2024/04/26 19:44
/*
在查询分析器中调用sqldmo生成脚本--存储过程
邹建 2003.07-----------------*/
/*--调用实例
declare @str varchar(8000)
exec sp_getscript 'zj','','','xzkh_sa','地区资料',@str output
print @str
*/
if exists(select 1 from sysobjects where id=object_id('sp_getscript') and objectproperty(id,'IsProcedure')=1)
drop procedure sp_getscript
go
create procedure sp_getscript
@servername varchar(50) --服务器名
,@userid varchar(50) --用户名,如果为nt验证方式,则为空
,@password varchar(50) --密码
,@databasename varchar(50) --数据库名称
,@objectname varchar(250) --对象名
,@re varchar(8000) output --返回脚本
as
declare @srvid int,@dbsid int --定义服务器、数据库集id
declare @dbid int,@tbid int --数据库、表id
declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量
--创建sqldmo对象
exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output
if @err<>0 goto lberr
--连接服务器
if isnull(@userid,'')='' --如果是 Nt验证方式
begin
exec @err=sp_oasetproperty @srvid,'loginsecure',-1
if @err<>0 goto lberr
exec @err=sp_oamethod @srvid,'connect',null,@servername
end
else
exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@password
if @err<>0 goto lberr
--获取数据库集
exec @err=sp_oagetproperty @srvid,'databases',@dbsid output
if @err<>0 goto lberr
--获取要取得脚本的数据库id
exec @err=sp_oamethod @dbsid,'item',@dbid output,@databasename
if @err<>0 goto lberr
--获取要取得脚本的对象id
exec @err=sp_oamethod @dbid,'getobjectbyname',@tbid output,@objectname
if @err<>0 goto lberr
--取得脚本
exec @err=sp_oamethod @tbid,'script',@re output
if @err<>0 goto lberr
--print @re
return
lberr:
exec sp_oageterrorinfo NULL, @src out, @desc out
declare @errb varbinary(4)
set @errb=cast(@err as varbinary(4))
exec master..xp_varbintohexstr @errb,@re out
select 错误号=@re, 错误源=@src, 错误描述=@desc
return
go
- 得到数据库中任何对象的脚本
- 在WPF中,如何得到任何Object对象的XAML代码?
- 在WPF中,如何得到任何Object对象的XAML代码?
- 在WPF中,如何得到任何Object对象的XAML代码?_.Net实例_电脑学网...
- 利用DBMS_METADATA.GET_DDL包得到数据库的对象的ddl脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 得到对象脚本
- 全局对象Application的使用,以及如何在任何地方得到Application全局对象
- 全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- Android全局对象Application的使用,以及如何在任何地方得到Application全局对象
- 第一次使用这里的博客哦~
- USACO :Sorting a Three-Valued Sequence解题报告
- Win32拷贝文件夹
- Linux中的工作队列 (2.6.0~2.6.19 and 2.6.20 ~ now)
- QT事件循环
- 得到数据库中任何对象的脚本
- Linux Books (html format) http://www.makelinux.net/resources
- JQuery中自动完成提示功能
- sliverlight: Operate the Cookie Class
- Symbian 开发的一些小技巧(来自程凯的博客)
- 没事来溜溜,找一找资源。
- 2010年,我选择远行
- 背熟以下文章,就能脱离鼠标,光用键盘操作了
- Word 2007 下的标尺的位置