生成SQL Server数据库脚本四法
数据库开发人员或数据库管理员(DBA)为了发布数据库或备份数据库对象,常需要生成T-SQL脚本。笔者在这里对常用方法进行了总结,供朋友们参考。
方法一:使用企业管理器
进入“企业管理器”,右击数据库,选择“所有任务→生成SQL脚本”即可。
方法评价:优点是方便,且操作简单。缺点是不能在应用程序中执行。
方法二:使用SQLDMO
很多朋友喜欢通过程序生成脚本,比如使用SQLDMO,以下是一个使用SQLD MO方法生成建库脚本的例子,代码如下:
DECLARE
@serverName varchar(255),--服务器名
@database varchar(255),--数据库名
@ScriptFile varchar(255)--存储的脚本文件名(路径名称)
SELECT @serverName='MYserver',
@database='Mydatabase',
@ScriptFile='c:\test.sql'
DECLARE @cmdstr nvarchar(4000)
DECLARE @object int
DECLARE @hr int
SET @CmdStr = 'Connect('+@ServerName+')'
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', TRUE
EXEC @hr = sp_OAMethod @object,@CmdStr
SET @CmdStr = 'Databases("'+@database+'").Script(5,"' + @ScriptFile + '")'
EXEC @hr = sp_OAMethod @object,@CmdStr
方法评价:SQLDMO的最大优点是灵活,但缺点是使用者需要对数据的对象依存关系相当清楚,这对于SQL Server初学者来说难度较大。用SQLDMO生成脚本的方法应用很普遍,想详细了解的朋友可以在网上很容易地找到相关资料。
方法三:使用DTS
如果是MS SQL Server 7.0以上的版本,我们也可以通过DTS将源数据库的对象复制到目标数据库。在SQL Server 7.0中有一个“transfer objects”的选项。
方法评价:可以使用MS提供的图形界面,操作比较方便,还可以建立一个DTS包反复调用。缺点是对多个数据库对象分别进行控制时很不方便。
方法四:使用scptxfr.exe工具
笔者想重点介绍的工具是scptxfr.exe,SQL Server 7.0以上的版本都自带了这个工具,默认安装。SQL Server
2000安装在“\Program Files\Microsoft SQL Server\MSS
QL\Upgrade”目录下。如果没有安装,可以到安装光盘上查找。
scptxfr.exe是一个带命令行参数的可执行程序,可以生成数据库所有对象的完整脚本。可
相关文档:
★Asp.net如何连接SQL Server2000数据库★
大家好,以下是有关ASP.net连接SQL Server2000数据库的例程,
在这里和大家分享一下:
Asp.net连接SQL Server2000数据库例程详解:
<%@ Import Namespace="System.Data" %>
<%@ Import NameSp ......
使用SQL Server身份验证登录时报错:
无法连接到.\SQLEXPRESS.
Additional information:
用户'sa'登录失败。该用户与可信SQL Server 连接无关联。(microsoft SQL Server,Error:18452))
------------------
下面是映射时报的错:
创建对于用户“sa”失败。(microsoft.sqlServer.express.smo)
Additional ......
ibatis作为一个轻量级的orm工具现在非常流行,我在使用中发现,有时仅仅希望返回一个类型为map的list就可以了,
比如简单的查询统计之类的,没有必要定义太多的pojo,因此想能不能在ibatis中直接传入sql语句来执行,然后返回map呢?
从网上搜了一下,还真有,实验成功后总结一下,大家共同进步。 其实很简单,就 ......
在计算机中数据有两种特征:类型和长度。所谓数据类型就是以数据的表现方式和存储方式来划分的数据的种类。在SQL Server 中每个变量、参数、表达式等都有数据类型。 其中,BIGINT、 SQL_VARIANT 和TABLE 是SQL Server 2000 中新增加的3 种数据类型.
一、 整数数据类型
&nb ......
首先我想谢谢园子的朋友们,是你们提醒我写内容有错误,记得曾经电子商务之数据存储流程(五)里面说到“选存储过程+传递参数用SqlParameter是因为,除非是ADO.NET有漏洞,那么就绝对不会发生SQL注入”。Keep Walking大哥也在关于防止sql注入的几种手段(二)中举出来一个例子说明我说的上句话是错误的。说实话当 ......