SQL Server编程系列(2):SMO常用对象的有关操作

在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,在本篇中周公还是在上一篇的基础上再做稍微深入一点的介绍,在本篇中主要讲述如何获取数据库常见对象信息,并且如何利用SMO来进行一些日常操作:如创建Login,创建数据库、备份数据库和还原数据库。执行上面这些操作的SQL语句也许我们已经写过,下面我们来看看利用SMO来操作的代码将如何写。

原创 推荐 点赞2 阅读3152 收藏0 评论3 2012-05-23

SQL Server编程系列(1):SMO介绍

最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档、MSDN及StackOverFlow等网站,这些网站基本上都是英文的,为了便于一些英文不好的开发者学习,周公在自己的理解上加以整理成系列,不到之处请大家谅解。

原创 推荐 点赞1 阅读4957 收藏0 评论2 2012-05-17

SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。

原创 推荐 点赞2 阅读9392 收藏0 评论1 2012-05-10

SQL Injection(SQL注入)介绍及SQL Injection***检测工具

1.关于SQL Injection 迄今为止,我基本没有看到谁写出一篇很完整的文章,或者说很成熟的解决方案(能做到 的人肯定很多,问题是没有流传开来,很遗憾) 我简单的说几点,希望启发大家思考,起到抛砖引玉的作用   一、SQL Injection的原理 SQL Injection的实现方法和破坏作用有很多,但万变不离其宗,其原理可以概括为一句话 :SQL Injection就是向

转载 点赞1 阅读2234 收藏0 评论0 2008-08-06

安装SQL Server 2005 时报“-2146233087”错误的解决办法

      虽然MS SQL Server2005推出很长一段时间了,但是因为本人的本本内存太小(和本人一样,属于淘汰品了,呵呵)所以一直没有安装SQL2005,但是今天有优化一个项目,别人用的就是SQL2005,没有办法只好安装了。安装的时候有一个坎一直过不去,错误编号为“-2146233087”,查看了系统日志,描述如下: 产品: Micro

原创 点赞0 阅读3033 收藏0 评论1 2008-05-11

值得收藏的Microsoft SQL Server下的SQL语句

SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。一、基础 1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname 3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'te

转载 点赞2 阅读717 收藏0 评论0 2007-11-07

学习SQL SERVER的存储过程-之一认识存储过程语法

CREATE PROCEDURE创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft SQL Server启动时自动运行的存储过程。   语法CREATE PROC [ EDURE ] proc

转载 点赞0 阅读968 收藏0 评论0 2007-11-07

Oracle SQL精妙SQL语句讲解

行列转换 行转列DROP TABLE t_change_lc;CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER); INSERT INTO t_change_lc SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal FROM

转载 点赞1 阅读802 收藏0 评论0 2007-11-07

利用Power Designer反向数据库结构

Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。 利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。   Power Designer的4种模型:概念数据模型 (C

原创 点赞0 阅读1888 收藏0 评论0 2007-10-22

Sql Server 常用日期格式

进来因为开发原因,经常需要使用日期方面的比较和操作,整理了一下这方面的资料,供大家共享: SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下:

原创 点赞0 阅读781 收藏0 评论0 2007-10-09

五种提高 SQL 性能的方法

本文节选自MSDN的文章《五种提高 SQL 性能的方法》,提出如何提高基于SQL Server应用程序的运行效率,非常值得推荐。对一些Traffic很高的应用系统而言,如何提高和改进SQL指令,是非常重要的,也是一个很好的突破点。*文章主要包括如下一些内容(如感兴趣,请直接访问下面的URL阅读完整的中英文文档): 1, 从 INSERT 返回 IDENTITY  SELECT @@ID

转载 点赞0 阅读981 收藏0 评论0 2007-09-22

关于SQL Server下无限多级别分类查询解决办法

在开发中经常会遇到无限级分类的问题,最常见的是一些无限级目录之类的,如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言的话,这将是一件很困难的事情,也许你最后能实现类似的功能,不过可能花费的时间很长,效率也不是很理想,下面的示例也许能给你一个启示。   /***创建表****/ CREATE TABLE [dbo].[Tree] (   &nbs

转载 点赞0 阅读705 收藏0 评论0 2007-09-10

PowerDesign高级应用

1、去掉Oracle生成的SQL创建语句中的双引号  用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:   这样给操作数据库带来很大的不便,解决的办法是设置Database菜单     然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到C

原创 点赞1 阅读2601 收藏0 评论0 2007-09-08

0RACLE的字段类型

字段类型 描述 字段长度及其缺省值  CHAR (size)   用于保存定长(size)字节的字符串数据。    每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。 VARCHAR2 (size)   用于保存变

原创 点赞0 阅读964 收藏0 评论0 2007-09-08

在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL

        PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。     PL/SQL的优点 &nb

原创 点赞0 阅读10000+ 收藏0 评论1 2007-09-07

Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

先假设有这么一个表:   create table S_Depart    (      DepartId                &n

原创 点赞0 阅读10000+ 收藏0 评论0 2007-08-28

一个用户SQL Server2000/2005的好工具_——数据库发布向导(Database Publishing Wizard)

很多数据库都提供提供数据库定义和数据导入功能,但不幸的是SQL Server却没有,导出成SQL语句只会到处数据库对象的定义,并不包含数据,为了达到导出数据的功能,我们通常只能通过数据库附加或者备份的功能实现,而无法像MySQL那样利用一个SQL语句就能完成数据库的定义和数据导入。   好了, SQL Server现在也提供了这种功能了,它用到了一个软件数据库发布向导(Databas

原创 点赞0 阅读3754 收藏0 评论0 2007-07-19

inner join on, left join on, right join on讲解

1.理论 只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。 个人理解:以一个共同的字段求两个表中符合要求的交集,并将每个表符合要求的记录以共同的字段为牵引合并起来。   语法 FROM table1 INNER JOIN table2 ON table1 . field1 compopr table2 . field2 INNER JOIN 操作包含以下部分:

原创 点赞0 阅读3610 收藏0 评论0 2007-04-27

在SQLSERVER企业管理器中如何创建触发器

下面将分别介绍在MS SQLServer 中如何用SQL Server 管理工具Enterprise Manager 和Transaction_SQL 来创建触发器。 在创建触发器以前必须考虑到以下几个方面: CREATE TRIGGER 语句必须是批处理的第一个语句; 表的所有者具有创建触发器的缺省权限,表的所有者不能把该权限传给其它用户; 触发器是数据库对象,所以其命名必须符合命

原创 点赞0 阅读1733 收藏0 评论0 2007-04-21

SQL Server里面如何导出包含数据的SQL脚本

通常情况下,SQL Server里面的生成SQL脚本,只会包含数据库及表的字段结构,而不会包含表的数据,也就是SQL脚本里面只有Create database,Create table 这样的语句,没有insert into。 因为SQL Server并不包含这个功能,只能靠第三方的代码了。  以下存储过程可以实现: CREATE PROCEDURE dbo.UspOutput

原创 点赞0 阅读4795 收藏0 评论0 2007-04-17

真烂的Access及Access关键字

以前做数据库开发一直使用SQL Server和MySQL来开发,有比较好的工具,通常遇到关键字会以变色字体演示,一般到也不会出现什么问题,最近做一个小东东,想尝试一下Access,经常是在直接用SQL语句查询没有问题,一到程序里面就不行了,动不动就报“IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。”这个错误,查了半天才知道是因为使用了Acce

原创 点赞0 阅读1452 收藏0 评论0 2007-03-28

继续探讨数据库权限管理设计

一般的Web系统和MIS系统权限管理设计大概有这几种模式:用户+组+角色+权限用户+组+权限用户+角色+权限用户+权限 最近看了别人的设计方法,大多以“整数”来表示权限值,如添加、浏览、删除和修改,分别用1、2、4、8这几个整数来代替,不过,各人的做法有所不同,举例如下: 1.用2的n次幂组成权限值的集合,如1、2、4、8、16...,某用户的权限值为其子集中的整数之和,如 7=1+2+4,5

原创 点赞0 阅读1423 收藏0 评论0 2007-03-24

关于权限的数据库设计

不管是在网站开发还是MIS系统开发中,涉及到多用户的软件系统都会遇到这个问题,如何比较优雅的解决这个问题也一直是大家经常探讨的热门话题,本文试着谈论一下自己的观点,希望和大家共同切磋。 方法一:   用户表:  T_UserInfo     id     name   对象表: 

原创 点赞0 阅读5072 收藏0 评论0 2007-03-21