如何产生 MS SQL 7 脚本!(200分)

  • 主题发起人 主题发起人 question
  • 开始时间 开始时间
Q

question

Unregistered / Unconfirmed
GUEST, unregistred user!
如何产生类似 在 MS SQL Enterprise Manager 中使用
Generate SQL Scripts ... 功能菜单创建的 SQL 脚本?
最好能写成函数 如 GetScripts(DBName,ScriptsName:String)
根据给的数据库名,将所有的脚本创建到 scriptsName 中指定
的文件中。
PS:需要使用 ADO 连接。
 
呵呵,厉害,应该要用到MSSQL的DMO对象?不晓得,跟踪一下,sorry
 
如果用BDE连接,用我的数据库备份组件(TDBBackup)就可以作到了
 
PS: 可以使用 BDE 以外的连接,DAO 除外.最好通过 ADO 或 DMO 实现
To :李颖
你的备份组件生成的 SQL 脚本不理想(没仔细用。)好象也无法生成触发和
存储过程。
To : CJ
用 DMO 可以,可我不知道如何在 Delphi 注册使用,如果使用的 VB 可以
加入SQLDMO.RLL 注册 References 可 Delphi 呢?
如果通过 VB 可以写:
Set objServer = CreateObject("SQLDMO.SQLServer")
objServer.Connect ".","sa"
For objTable in objServer.Databases("pubs").Tables
objTable.Script ,"c:/data/" & objtable.Name & ".sql"
Next
objServer.Disconnect
Set objServer = nothing
可在 Delphi 中如何做呢?
 
>>你的备份组件生成的 SQL 脚本不理想(没仔细用。)
>>好象也无法生成触发和存储过程。
当然啦,我是用BDE API作的,所以只能处理表结构、索引等等,
trigger和sp这种东西应该是在DB Server内,BDE恐怕处理不了
 
刚才看了一下BDE HELP,可以取到以下内容:
1、数据库中的所有sp
2、sp的参数
仍然只是client端的东西
至于sp的代码,以及trigger,我想client端应该是得不到的,
所以BDE恐怕无能为力了
 
大概要找到DMO的TypeLibrary,建议去Project Jedi的站点看看,这个
站点好象有API的翻译下载。
 
现在的问题是,如果使用 DMO 肯定可以解决,SQL 7 已经带了现成的例子,
可在 Delphi 中如何引用 DMO 呢?
Help me
Thank all!
 
uses
ComObj;

var
DMO : olevariant;
begin
DMO := CreateOleObject('SQLDMO.SQLServer');
DMO.Connect('COOLMAN', 'XJSH', 'XJSH~99');
...
end;
如何继续?比如我想得到其中某个表的脚本.
 
我写了一个例子,发到你的邮箱里了,看看,如果可以的话给分。:)
 
谢谢,我看了,基本满足了我的要求,各位也可看看,其实 Lanny 写的很简单
但生成的脚本却是符合要求的。我将 Lanny 的例子上传到了我的主页(With
Source code)
http://www.iszero.com/~oyq/dmodemo.zip
 
多人接受答案了。
 
后退
顶部