您的位置:首页 > 数据库

使用SQL-DMO实现定制SQLScripts

2008-04-27 21:23 447 查看
我是个负责应用的开发人员,昨夜和旧同事电话聊天中谈到了一个
大家共同的苦恼:因为几乎每天都要将自己的数据库项目生成SQLScripts
以供备份存档或发给客户更新,所以生成SQLScripts就成了每天的必修课。
SQLSERVER的企业管理器又无法支持将生成SQLScripts的过程保存为一个设置
文件,每次都必须做许多相同的工作,
如:选择对象呀、设置格式呀、表脚本选项、文件选项。。老是重复这样的操作
实在太麻烦了!电话闲聊完后就想:能不能写个小工具,在可以提供SQLSERVER
企业管理器所支持所有功能外,再增加个支持将各个选项的设置保存为
配置文件(如:ini或XM格式)的功能呢?这样我以后只要选取不同的配置文件就可以
直接生成出自己需要的Scripts格式,那样多好呀。。。
但如何实现Scripts的生成呢?就考虑使用下以前很少用的SQL-DMO吧!
心动不如行动,虽然夜已深,但有新鲜的体验总让我精神抖擞。。。呵呵,好了
不废话了。。就先简单地谈谈如何使用SQL-DMO来实现自己的需求吧~~~~
(代码示例使用Pascal语言表述)

1.枚举局域网内所有的SQLSERVER实例
函数:
functionGetAllServerInstances:TStringList;
var
oApplication,
oSeverNameList:Variant;
i:integer;
sNameList:TStringList;
begin
sNameList:=TStringList.Create;
oApplication:=CreateOLEObject('SQLDMO.Application');
oSeverNameList:=oApplication.ListAvailableSQLServers;
fori:=1tooSeverNameList.Countdo
sNameList.Append(oSeverNameList.Item(i));
Result:=sNameList;
oApplication:=NULL;
oSeverNameList:=NULL;
end;

2.登陆到指定的SQLSERVER实例
函数:
functionLoginServerInstances(sServer,sUser,sPassword:string):Variant;
var1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: