标题: MSDE自动安装使用方法
蓝色虫
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 17077
精华 8
积分 1729
帖子 3270
活跃指数 938
LU金币 3923 个
LU金条 82 个
阅读权限 210
注册 2004-4-4
来自 战国-赵都
 
发表于 2006-12-15 00:04  资料  个人空间  短消息  加为好友 
MSDE自动安装使用方法

一、           制作自动安装的SQL

已制作完成,程序放在:

\\工程项目\安装盘制作\MSDE

    说明:自动安装目的是在MSDE安装程序执行时不出现画面,并且自动按配置好的步骤安装;

          自动配置文件UNATTEND.ISS的制作方法:

用SQL SERVER安装程序开始安装,选择“高级选项”,再选择“无人值守”,接下来为安装所做的选择和配置均被存入c:\windows\SETUP.ISS文件中,该文件就是上面提到的UNATTEND.ISS。

          制作为无人值守文件后,执行其中的SETUP.bat文件就能自动安装SQL。只要能在我们应用程序的安装盘中有办法自动执行该文件中的内容即可自动安装SQL。



二、           修改SETUP1.exe

为了VB工程打包后,安装程序除了正常执行应用程序的安装功能外,另外再自动执行我们制作的无人值守SQL安装程序,须修改VB的打包工具。修改方法如下:

A、打开c:\program files\Microsoft visual studio\vb98\wizards\pdwizard\setup1目录下的setup1工程

B、 在basesetup1模块中的exitsetup过程找到以下语句:

                Case intExitCod

                  ………

                Case Else



C、在Case Else前增加调动SQL自动安装的语句

D、编译成EXE文件

E、 将编译好的EXE文件复制到上级目录:

c:\program files\Microsoft visual studio\vb98\wizards\pdwizard

目前已编译好的程序放在

\\CHANCE-SERVER\工程项目\安装盘制作\SETUP1



三、           制作数据库文件

因本MSDE是基本SQL SEREVER7的,故须有SQL SERVER7下将应用程序所用的数据库备份成一个文件名(如:DBBACK)。


四、           打包

A、工程打印包时,须将SQL的自动安装程序(msde86.exe、unattend.iss)打到包内,打包时指定该2程序的解压路径为:

          $(WinSysPath)

B、将制作的数据库备份文件(DBBACK)也打到包内,打包时指定该文件的解压路径为:

          $(AppPath)

C、将应用程序的配置文件、使用说明书等同时打到包内,打包时指定该文件的解压路径为:

          $(AppPath)



五、           安装

应用程序安装时,执行完标准的安装步骤后,会提问:

是否安装数据库?

若选择“是”则自动安装SQL(对已有SQL SERVER的机器千万不要安装)。

    说明:有时制作的安装程序在Windows2000下安装时,复制完8个初始化程序后,提示“程序过时”要求重新启动再安装。但重新启动后还是同样的问题,无法安装。此时修改安装包中的SETUP.lst文件,在:

File3=@VB6CHS.DLL,$(WinSysPath),,$(Shared),10/2/00

          前增加 REM ,这样重新安装时,只复制前2个文件,安装程序能顺利执行。

   

六、           运行程序

程序安装后,应用程序所须的数据库并未被装入SQL SERVER。应在我们编写的VB的应用程序中增加自动向SQL SERVER添加数据库的功能。

    实现方法:每次启动应用程序时,判断SQL SERVER数据库中是否存在我们要的数据库,若无则执行下以操作:

1、    将备份文件复制到MASTER数据库对应的目录下;

2、    使用数据恢复命令将MASTER目录下的备份文件恢复到指定的数据库名中。

                  程序清单见下页:

===============本函数须在连接数据库前使用================


===============须在工程中应用SQLDMO================



Public Function sCopyMDF(sSvrName As String, sDBName As String, sUID As String, sPWD As String, sMDFName As String) As String

参数说明:  sSvrName:服务器名

sDBName :数据库名

sUID :用户名

sPWD :密码,

sMDFName :数据库备份文件名



Dim Fso As Scripting.FileSystemObject

Dim strMessage As String

Dim db As Variant

Dim fDataBaseFlag As Boolean

Dim X, Osvr

On Error Resume Next

    sCopyMDF = ""

    fDataBaseFlag = False

    Set Fso = CreateObject("Scripting.FileSystemObject")

    Set Osvr = CreateObject("SQLDMO.SQLServer")

    Osvr.Connect sSvrName, sUID, sPWD

    Osvr.Start True, sSvrName, sUID, sPWD

    X = Osvr.Databases.Count  '如果失败,DMO 需要进行初始化

    '通过在本地 MSDE 服务器上循环检查所有数据库名称,

    '检查 DemoDatabase 是否存在于该服务器。

    For Each db In Osvr.Databases

        If db.Name = sDBName Then '该数据库存在

            fDataBaseFlag = True

            Exit For '退出循环

        End If

    Next

    If Not fDataBaseFlag Then '不存在名为 DemoDatabase 的数据库

            Dim oRestore As New SQLDMO.Restore

            oRestore.Action = SQLDMORestore_Database

            oRestore.Database = sDBName

         Fso.CopyFile App.Path & "\" & sMDFName, _

             Osvr.Databases("master").PrimaryFilePath & sMDFName, True



            oRestore.Files = Osvr.Databases("master").PrimaryFilePath & sMDFName

            

            oRestore.ReplaceDatabase = True

        ‘判断有否”C:\mssql7\Data\”目录,没有则要先建此目录

            oRestore.SQLRestore Osvr

   

    Else

        sCopyMDF = sMDFName & " 退出 MSDE 服务器"

    End If

ExitCopyMDF:

    Osvr.Disconnect

    Set Osvr = Nothing

Exit Function

sCopyMDFTrap:

    If err.Number = -2147216399 Then  'DMO 需进行初始化

        Resume Next

    Else

        sCopyMDF = err.Description

    End If

    Resume ExitCopyMDF

Exit Function

End Function





公司信息化管理方案[点击这里]
客户关系管理方案[点击这里]
OA、产品项目解决方案[点击这里]
教育机构远程培训管理方案[点击这里]
企业项目管理方案演示[点击这里]

移动飞信群号——4121165
新论坛:http://e-office.5d6d.com
顶部
蓝色虫
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 17077
精华 8
积分 1729
帖子 3270
活跃指数 938
LU金币 3923 个
LU金条 82 个
阅读权限 210
注册 2004-4-4
来自 战国-赵都
 
发表于 2006-12-15 00:05  资料  个人空间  短消息  加为好友 
MSDE是什么?

MSDE的全程是Microsoft SQL Server Desktop Engine,它是一个基于 SQL Server 核心技术构建的数据引擎。MSDE 2000 支持单处理器和双处理器,是面向小型应用程序桌面扩展的可靠的存储引擎和查询处理器。MSDE与SQL Server完全兼容,并且MSDE是免费的。

SQL Server系列产品具有各种发行版本,用以满足在不同的环境下对处理的数据量、并发用户数和硬件的不同要求。一般来说,MSDE适合在并发用户数小于5 人,数据量低于2GB的情况下使用。当数据量和并发用户数超过上面的配额的时候,SQL Server成为了更好的选择。由于MSDE与SQL Server完全兼容,开发人员可以使用同样的数据访问语言在规模相对较小的MSDE数据库系统和规模较大的SQL Server数据库系统之间实现无缝转换,并且,当所在组织的规模扩大后对数据库系统的功能和性能提出新的需求时,则可以在不修改现有数据库应用程序中的任何代码的情况下,将它完全移植到基于SQL Server的平台上运行。

MSDE不包含图形界面,是通过命令行管理程序osql来连接的。

Plesk For Windows 7.5.6 内置了MSDE安装包,如果您的服务器没有安装MSSQL,会自动的为您安装MSDE,并且您在Plesk中就可以创建MSSQL数据库了。由于MSDE 只允许5个并发连接,通常远不能满足需要,所以,建议您为服务器加装MSSQL之后,再安装Plesk





@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@2

Microsoft Desktop Engine (MSDE) 是一个数据库引擎,它是基于 SQL Server 技术建立的,并作为多个 Microsoft 产品(包括 Microsoft Visual Studio 和 Microsoft Office Developer Edition)的组件提供。MSDE 版本和 SQL Server 版本之间有直接关系。MSDE 1.0 基于 SQL Server 7.0;MSDE 2000 基于 SQL Server 2000。这是微软的免费数据库,虽然是免费的,但MSDE不适用大量用户访问

@@@@@@@@@@@@@@@@@@@@@@@@@@@@

选择并使用 MSDE 2000 作为应用程序的数据库引擎





公司信息化管理方案[点击这里]
客户关系管理方案[点击这里]
OA、产品项目解决方案[点击这里]
教育机构远程培训管理方案[点击这里]
企业项目管理方案演示[点击这里]

移动飞信群号——4121165
新论坛:http://e-office.5d6d.com
顶部
 



当前时区 GMT+8, 现在时间是 2008-12-5 20:39
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.061051 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver