|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用工具|剧本
/*
在查询剖析器中挪用sqldmo天生剧本--存储历程
邹建2003.07-----------------*/
/*--挪用实例
declare@strvarchar(8000)
execsp_getscriptzj,,,xzkh_sa,区域材料,@stroutput
print@str
*/
ifexists(select1fromsysobjectswhereid=object_id(sp_getscript)andobjectproperty(id,IsProcedure)=1)
dropproceduresp_getscript
go
createproceduresp_getscript
@servernamevarchar(50)--服务器名
,@useridvarchar(50)--用户名,假如为nt考证体例,则为空
,@passwordvarchar(50)--暗码
,@databasenamevarchar(50)--数据库称号
,@objectnamevarchar(250)--工具名
,@revarchar(8000)output--前往剧本
as
declare@srvidint,@dbsidint--界说服务器、数据库集id
declare@dbidint,@tbidint--数据库、表id
declare@errint,@srcvarchar(255),@descvarchar(255)--毛病处置变量
--创立sqldmo工具
exec@err=sp_oacreatesqldmo.sqlserver,@srvidoutput
if@err0gotolberr
--毗连服务器
ifisnull(@userid,)=--假如是Nt考证体例
begin
exec@err=sp_oasetproperty@srvid,loginsecure,-1
if@err0gotolberr
exec@err=sp_oamethod@srvid,connect,null,@servername
end
else
exec@err=sp_oamethod@srvid,connect,null,@servername,@userid,@password
if@err0gotolberr
--猎取数据库集
exec@err=sp_oagetproperty@srvid,databases,@dbsidoutput
if@err0gotolberr
--猎取要获得剧本的数据库id
exec@err=sp_oamethod@dbsid,item,@dbidoutput,@databasename
if@err0gotolberr
--猎取要获得剧本的工具id
exec@err=sp_oamethod@dbid,getobjectbyname,@tbidoutput,@objectname
if@err0gotolberr
--获得剧本
exec@err=sp_oamethod@tbid,script,@reoutput
if@err0gotolberr
--print@re
return
lberr:
execsp_oageterrorinfoNULL,@srcout,@descout
declare@errbvarbinary(4)
set@errb=cast(@errasvarbinary(4))
execmaster..xp_varbintohexstr@errb,@reout
select毛病号=@re,毛病源=@src,毛病形貌=@desc
return
go
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。 |
|