随笔分类 -  数据库技术

摘要:在上一篇周公简单讲述了SMO的一些基本概念,实际上SMO体系结构远不止周公在上一篇中讲述的那么简单,在本篇中周公还是在上一篇的基础上再做稍微深入一点的介绍,在本篇中主要讲述如何获取数据库常见对象信息,并且如何利用SMO来进行一些日常操作:如创建Login,创建数据库、备份数据库和还原数据库。执行上面这些操作的SQL语句也许我们已经写过,下面我们来看看利用SMO来操作的代码将如何写。 阅读全文
posted @ 2012-05-23 02:18 周金桥 阅读(787) 评论(2) 推荐(0) 编辑
摘要:最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文章并不多见,有也是一些零星的应用,特别是SSIS部分国内外的文章大都是讲解如何拖拽控件的,在开发过程中周公除了参阅SQL Server帮助文档、MSDN及StackOverFlow等网站,这些网站基本上都是英文的,为了便于一些英文不好的开发者学习,周公在自己的理解上加以整理成系列,不到之处请大家谅解。 阅读全文
posted @ 2012-05-17 02:01 周金桥 阅读(1821) 评论(2) 推荐(0) 编辑
摘要:很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程、触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试。最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得。 阅读全文
posted @ 2012-05-10 01:30 周金桥 阅读(563) 评论(0) 推荐(0) 编辑
摘要:最近在做一些数据库管理维护方面的开发,需要了解一些有关数据库的管理信息,比如本机上运行了哪些数据库服务器实例,局域网内运行了哪些数据库服务器实例及每个数据库服务器下有多少数据库,每个数据库的物理文件大小及保存位置等等。结合了网上的一些资料和本人的多次实践,总结写出本篇。在这里要感谢一篇文章《sql server系统表详细说明》。首先是一些与系统表记录对应的实体类(注意代码中ColumnNameAttribute类是来自于《用C#打造自己的通用数据访问类库(续)》中的类,在周公处它们位于同一namespace下): using System; using System.Collections.. 阅读全文
posted @ 2012-04-19 00:16 周金桥 阅读(640) 评论(0) 推荐(1) 编辑
摘要:说明:此篇文章是给那些和我一样仍在使用ADO.NET访问数据库的.NET开发人员写的,因为某些原因,比如还在使用.NET3.0以下版本开发.NET应用或者所使用的数据库对ORM支持不是很好,或者是对ORM的性能有所怀疑(其实在访问量不是很大的情况下没有必要过分追求性能的极限)等等,这部分人仍在使用传统的ADO.NET来访问数据库,他们或手写或采用代码生成工具来生成实体类和增删改查的SQL语句,在将DataTable或者DataReader转换成对应的实体类的时候仍需要一行行写代码,本类就是为了解决这个问题的,可以用几个类来实现方便快捷的转换。本类库在SQL Server/MySQL/SQLit 阅读全文
posted @ 2012-04-12 22:00 周金桥 阅读(1143) 评论(0) 推荐(0) 编辑
摘要:SQLite介绍在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义、表、索引和数据本身)都保存在一个单一的文件中。并且,SQLite是一个用C实现的类库,它在内存消耗、文件体积、简单性方面都有不错的表现,如果数据在10W条以下,查询速度也是相当快的。SQLite具有以下特征:实现多数SQL92的标准,包括事务(原子性、一致性、隔离性和持久性)、触发器和大多数的复杂查询。不对插入或者更新的数据进行类型检查,你可以将字符串插入到整数列中(这个可能让有些用户不太适应)。支持Windows/ 阅读全文
posted @ 2010-04-08 21:26 周金桥 阅读(296) 评论(0) 推荐(0) 编辑
摘要:1.关于SQL Injection 迄今为止,我基本没有看到谁写出一篇很完整的文章,或者说很成熟的解决方案(能做到 的人肯定很多,问题是没有流传开来,很遗憾) 我简单的说几点,希望启发大家思考,起到抛砖引玉的作用 一、SQL Injection的原理 SQL Injection的实现方法和破坏作用有很多,但万变不离其宗,其原理可以概括为一句话 :SQL Injection就是向服务器端提交事先准备好的数据,拼凑出攻击者想要的SQL语句,以改变数据库操作执行计划。 我想,这么说也许不算精炼,但意思应该很明确了,这句话主要包含这么三层意思: 1.攻击者通过何种途径注入? 存在SQL Injecti 阅读全文
posted @ 2008-08-06 23:35 周金桥 阅读(578) 评论(0) 推荐(0) 编辑
摘要:虽然MS SQL Server2005推出很长一段时间了,但是因为本人的本本内存太小(和本人一样,属于淘汰品了,呵呵)所以一直没有安装SQL2005,但是今天有优化一个项目,别人用的就是SQL2005,没有办法只好安装了。安装的时候有一个坎一直过不去,错误编号为“-2146233087”,查看了系统日志,描述如下:产品: Microsoft SQL Server 2005 Notification Services -- 错误 29549。无法在 COM+ 目录中安装和配置程序集 C:/Program Files/Microsoft SQL Server/90/NotificationServ 阅读全文
posted @ 2008-05-11 12:19 周金桥 阅读(419) 评论(0) 推荐(0) 编辑
摘要:create PROCEDURE sp_decrypt(@objectName varchar(50))ASbeginset nocount on--CSDN:j9988 copyright:2004.01.05 --V3.1--破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器--发现有错,请E_MAIL:CSDNj9988@tom.combegin trandeclare @objectname1 varchar(100),@orgvarbin varbinary(8000)declare @sql1 nvarchar(4000),@sql2 varchar(8 阅读全文
posted @ 2008-01-01 19:38 周金桥 阅读(355) 评论(0) 推荐(0) 编辑
摘要:SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。一、基础1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack 阅读全文
posted @ 2007-11-07 16:04 周金桥 阅读(180) 评论(0) 推荐(0) 编辑
摘要:CREATE PROCEDURE创建存储过程,存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。也可以创建在 Microsoft SQL Server启动时自动运行的存储过程。语法CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ] [ WITH { R 阅读全文
posted @ 2007-11-07 15:57 周金桥 阅读(199) 评论(0) 推荐(0) 编辑
摘要:行列转换 行转列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 dual CONNECT BY ROWNUM <= 4UNION SELECT '002' card_code, ROWNUM q, trunc(dbms_ran 阅读全文
posted @ 2007-11-07 15:52 周金桥 阅读(147) 评论(0) 推荐(0) 编辑
摘要:Power Designer是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。Power Designer的4种模型:概念数据模型 (CDM)物理数据模型 (PDM) 面向对象模型 (OOM) 业务程序模型 (BPM) 我主要介绍一下PDM:PDM 叙述数据库的物理实现,帮助你考虑真实的物理实现的细节。你能通过修正PDM来适合你的表现或物理约束。主要目的是. 阅读全文
posted @ 2007-10-22 19:01 周金桥 阅读(233) 评论(0) 推荐(0) 编辑
摘要:进来因为开发原因,经常需要使用日期方面的比较和操作,整理了一下这方面的资料,供大家共享:SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getd 阅读全文
posted @ 2007-10-09 18:13 周金桥 阅读(364) 评论(0) 推荐(0) 编辑
摘要:本文节选自MSDN的文章《五种提高 SQL 性能的方法》,提出如何提高基于SQL Server应用程序的运行效率,非常值得推荐。对一些Traffic很高的应用系统而言,如何提高和改进SQL指令,是非常重要的,也是一个很好的突破点。*文章主要包括如下一些内容(如感兴趣,请直接访问下面的URL阅读完整的中英文文档):1,从 INSERT 返回 IDENTITY SELECT @@IDENTITY2, 内嵌视图与临时表 临时表- 在 tempdb 中的临时表会导致查询进行大量 I/O 操作和磁盘访问,临时表会消耗大量资源。内嵌视图 -使用内嵌视图取代临时表。内嵌视图只是一个可以联接到 FROM 子句 阅读全文
posted @ 2007-09-22 12:11 周金桥 阅读(186) 评论(0) 推荐(0) 编辑
摘要:在开发中经常会遇到无限级分类的问题,最常见的是一些无限级目录之类的,如果你对SQL Server还不是太熟悉或者还不太熟悉SQL语言的话,这将是一件很困难的事情,也许你最后能实现类似的功能,不过可能花费的时间很长,效率也不是很理想,下面的示例也许能给你一个启示。/***创建表****/CREATETABLE[dbo].[Tree]([ID][int]IDENTITY(1,1)NOTNULL,[PID][int]NULL,[Name][varchar](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]/****创建自定义函数****/CREATEFUNCTI 阅读全文
posted @ 2007-09-10 18:39 周金桥 阅读(274) 评论(0) 推荐(0) 编辑
摘要:字段类型 描述 字段长度及其缺省值 CHAR (size) 用于保存定长(size)字节的字符串数据。 每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。 ... 阅读全文
posted @ 2007-09-08 10:25 周金桥 阅读(143) 评论(0) 推荐(0) 编辑
摘要:PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。 PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形。PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,.. 阅读全文
posted @ 2007-09-07 16:35 周金桥 阅读(768) 评论(0) 推荐(0) 编辑
摘要:1、去掉Oracle生成的SQL创建语句中的双引号 用powerdesigner导出orale数据库的建表sql时,默认会给表名和字段名加上双引号,如下图:这样给操作数据库带来很大的不便,解决的办法是设置Database菜单,然后点击Edit Current DBMS菜单,再依次点开Script->Format,然后找到CaseSensitivityUsingQuote将其设为NO,即可。如下图:如果带有包的话,导出时要选择包中的表。2、PowerDesign高级应用编写相关的VBS脚本在PowerDesign里自定义一些命令与操作等,具体的可以参考C:/Program Files/Sy 阅读全文
posted @ 2007-09-03 18:46 周金桥 阅读(156) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示