sqlserver数据库的问题,请高手指教!

dongbeiren 2003-01-10 09:23:04
在VB.NET的数据库程序中,如何能使sqlserver数据库和程序一起生成安装包,在另外安装了sqlserver的机器上安装时,其可以自动安装到sqlserver下。
...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
popcorn 2003-01-12
  • 打赏
  • 举报
回复
可以象以下操作一样使用SQL语句或者存储过程安装数据库:

以下演练演示在安装期间如何使用自定义操作和 CustomActionData 属性创建数据库和数据库表。

创建安装程序类

在“文件”菜单上指向“新建”,然后选择“项目”。
在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic 项目”,然后选择“模板”窗格中的“类库”。在“名称”框中键入 DBCustomAction。
从“项目”菜单中选择“添加新项”。
在“添加新项”对话框中选择“安装程序类”。在“名称”框中键入 DBCustomAction。
创建数据连接对象

在“服务器资源管理器”中,选择“数据连接”。右击并选择“添加连接”。
在“数据链接属性”对话框中,输入对您的 SQL Server 配置有效的服务器名称、用户名和密码值。在“数据库”框中,键入 master。选中“允许保存密码”复选框。
将新连接拖到“DBCustomAction.vb”设计器中以创建“sqlConnection1 对象”。
创建包含 SQL 语句的文本文件以创建数据库

在“解决方案资源管理器”中,选择“DBCustomAction”项目。从“项目”菜单中选择“添加新项”。
在“添加新项”对话框中,选择“文本文件”。在“名称”框中,键入 sql.txt(必须是小写)。
将以下内容添加到 sql.txt 文件中:
CREATE TABLE [dbo].[Employees] (
[Name] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Rsvp] [int] NULL ,
[Requests] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY];

ALTER TABLE [dbo].[Employees] WITH NOCHECK ADD
CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED
(
[Name]
) ON [PRIMARY];
在“解决方案资源管理器”中,选择“sql.txt”。在“属性”窗口中,将“生成操作”属性设置为“嵌入的资源”。
将代码添加到安装程序类中以阅读文本文件

在“解决方案资源管理器”中,选择“DBCustomAction.vb”。在“视图”菜单上,选择“代码”。
在模块的顶部添加以下 Imports 语句:
Imports System.IO
Imports System.Reflection
将以下代码添加到类中:
Private Function GetSql(ByVal Name As String) As String
Try

' Get the current assembly.
Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()

' Resources are named using a fully qualified name.
Dim strm As Stream = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + Name)

' Read the contents of the embedded file.
Dim reader As StreamReader = New StreamReader(strm)
Return reader.ReadToEnd()
Catch ex As Exception
MsgBox("In GetSQL: " & ex.Message)
Throw ex
End Try

End Function

Private Sub ExecuteSql(ByVal DatabaseName As String, ByVal Sql As String)
Dim Command As New SqlClient.SqlCommand(Sql, sqlConnection1)

Command.Connection.Open()
Command.Connection.ChangeDatabase(DatabaseName)
Try
Command.ExecuteNonQuery()
Finally
' Finally, blocks are a great way to ensure that the connection
' is always closed.
Command.Connection.Close()
End Try
End Sub

Protected Sub AddDBTable(ByVal strDBName As String)
Try
' Create the database.
ExecuteSql("master", "CREATE DATABASE " + strDBName)

' Create the tables.
ExecuteSql(strDBName, GetSql("sql.txt"))

Catch ex As Exception
' Report any errors and abort.
MsgBox("In exception handler: " & ex.Message)
Throw ex
End Try
End Sub

Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
MyBase.Install(stateSaver)
AddDBTable(Me.Context.Parameters.Item("dbname"))
End Sub
在“生成”菜单上,选择“生成 DBCustomAction”。
创建部署项目

在“文件”菜单上,选择“添加项目”->“新建项目”。
在“添加项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中,键入 DBCustomAction Installer。
在“属性”窗口中,选择 ProductName 属性并键入 DB Installer。
在文件系统编辑器中,选择“应用程序文件夹”。在“操作”菜单上,选择“添加”->“项目输出”。
在“添加项目输出组”对话框中,为“DBCustomAction”项目选择主输出。
创建自定义安装对话框

在解决方案资源管理器中选择“DBCustomAction Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“用户界面”。
在用户界面编辑器中,选择“安装”下的“启动”节点。在“操作”菜单上,选择“添加对话框”。
在“添加对话框”对话框中选择“文本框 (A)”对话框。
在“操作”菜单上选择“上移”。重复此步骤,直到“文本框 (A)”对话框位于“安装文件夹”节点之上。
在“属性”窗口中,选择 BannerText 属性并键入 Specify Database Name。
选择 BodyText 属性并键入 This dialog allows you to specify the name of the database to be created on the database server。
选择 Edit1Label 属性并键入 Name of DB:。
选择 Edit1Property 属性并键入 CUSTOMTEXTA1。
选择 Edit2Visible、Edit3Visible 和 Edit4Visible 属性,并将它们设置为 False。
创建自定义操作

在解决方案资源管理器中选择“DBCustomAction Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“自定义操作”。
在自定义操作编辑器中选择“安装”节点。在“操作”菜单上,选择“添加自定义操作”。
在“选择项目中的项”对话框中,双击“应用程序文件夹”。
选择“主输出来自 DBCustomAction(活动)”项。
在“属性”窗口中,选择 CustomActionData 属性并键入 /dbname=[CUSTOMTEXTA1]。
在“生成”菜单上选择“生成 DBCustomActionInstaller”。
在开发计算机上安装

在解决方案资源管理器中选择“DBCustomAction Installer”项目。在“项目”菜单上选择“安装”。
这将在开发计算机上运行安装程序。

部署到其他计算机

在 Windows 资源管理器中,定位到项目目录并查找所生成的安装程序。默认路径将是 \documents and settings\yourloginname\DBCustomAction Installer\project configuration\DBCustomAction Installer.msi。默认的“项目配置”是“Debug”。
将 DBCustomAction Installer.msi 文件和该目录下的其他所有文件和子目录复制到另一台计算机上。
注意 若要在未连网的计算机上进行安装,请将文件复制到 CD-ROM 等传统媒体中。
在目标计算机上双击 Setup.exe 文件来运行安装程序。

卸载应用程序

在 Windows“控制面板”中,双击“添加/删除程序”。
在“添加/删除程序”对话框中,选择“DBCustomAction 安装程序”并单击“移除”。
提示 若要从开发计算机上卸载,则在“项目”菜单上选择“卸载”。
dongbeiren 2003-01-12
  • 打赏
  • 举报
回复
to popcorn:
我说的不是这种情况,通过备份和恢复数据库的方法,我知道,我想知道的是作为程序包安装的方法
popcorn 2003-01-12
  • 打赏
  • 举报
回复
使用存储过程可以脱离和附加,备份和恢复数据库,具体可搜索一下mssqlserver的帮助。这样是比较完善的sqlserver数据库安装方法。
dongbeiren 2003-01-12
  • 打赏
  • 举报
回复
to xhan2000(popeye.net):
能否给个详细说明或操作步骤
xhan2000 2003-01-11
  • 打赏
  • 举报
回复
vs.net自带的不行


installshield
jnhjone 2003-01-11
  • 打赏
  • 举报
回复
up

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧