数据库

MSSQL2005数据附加失败错误3456

解决办法:

1.新建一个同名的数据库(数据文件与原来的要一致)   
    
2.再停掉sql server(注意不要分离数据库)   
    
3.用原数据库的数据文件覆盖掉这个新建的数据库   
    
4.再重启sql server   
    
5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)   
    
6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。

企业管理器出现[MMC 无法创建管理单元]参考解决方案

当安装了Microsoft SQL Server 2005,然后又卸载SQL SERVER2005。结果在打开 SQLServer2000的 企业管理器,收到以下错误信息:MMC创建无法管理单元。

到网上寻找了以后,解决方法如下:

1. [开始]-->[运行] regedit   回车;

2. 找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup;

3. 如果有 SqlPath? 项且值为:“C:\Program Files\Microsoft SQL Server Server\80\Tools” ?,就直接跳到第7步;

3. 右键单击 ClientSetup 注册表子项, [新建]-->[字串值];

4. 重命名注册表子项,创建 SqlPath , 然后按 Enter;

在SQL Server 2005数据库中更改数据架构

数据库升级到 mssql 2005 了,我对 2005 不熟悉,发现还原 2000 的数据以前的用户名删除不了,报 Microsoft SQL Server错误: 15138?。
在网上找到:SQL Server 2005删除用户失败解决方法(15138错误)?
?Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。
删除 对于 用户“*****”失败。 (Microsoft.SqlServer.Smo)

其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

sql里的update实现多表更新[转]

在 开发中,数据库来回换,而有些关键性的语法又各不相同,这是一件让开发人员很头痛的事情.本文总结了Update语句更新多表时在SQL Server,Oracle,MySQL三种数据库中的用法.我也试了SQLite数据库,都没成功,不知是不支持多表更新还是咋的. 在本例中: 我们要用表gdqlpj中的gqdltks,bztks字段数据去更新landleveldata中的同字段名的数据,条件是当 landleveldata 中的GEO_Code字段值与gdqlpj中的lxqdm字段值相等时进行更新.

mysql的一个特殊问题:You can't specify target table 'wms_cabinet_form' for update in FROM clause[转]

今天在写 mysql 遇到一个比较特殊的问题。
mysql 语句如下:
 

update wms_cabinet_form set cabf_enabled=0

where cabf_id in (

SELECT wms_cabinet_form.cabf_id FROM wms_cabinet_form

Inner Join wms_cabinet ON wms_cabinet_form.cabf_cab_id = wms_cabinet.cab_id

Inner Join wms_cabinet_row ON wms_cabinet.cab_row_id =wms_cabinet_row.row_id

where wms_cabinet_row.row_site_id=27 and wms_cabinet_form.cabf_enabled=1)

运行时提出如下提示: You can't specify target table 'wms_cabinet_form' for update in FROM clause

phpmyadmin导入mysql 数据库错误

朋友申请了一个免费的 mysql 数据库空间做测试,今天上午就把数据库导入试试,反正导了几次都出错。错误提示:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

修改MYSQL表类型

最近遇到一个修改 mysql 表类型的问题,以前在 phpmyadmin 管理 mysql 数据库时,建立的表默认是 MyISAM 类型,而且修改表类型也比较方便。奈何现在配置 phpmyadmin 出了问题,也懒得去弄了,就装了另一个 mysql 的管理工具,比较方便。可是我新建的表默认确是 InnoDB 类型的,而且以前我迁移时,这个类型容易出问题,虽然说不出哪个类型好,但感觉更喜欢 MyISAM ,就尝试把它转为 MyISAM类型了。这个工具找了半天没找着怎么修改,问了水神同学也不知道。还好,在网上找着了 sql 命令修改句子,看来还是 sql 语句强大啊。

修改 mysql 表类型的 sql 语句:

alter table 表名 type = MyISAM;

alter table 表名 type = InnoDB;

除非同时指定了TOP,否则 ORDER BY子句在视图、内嵌函数、派生表和子查询中无效

在sql server 2000中,报错:”除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。“,如果实在要用 ORDER BY ,但是又不能指定确定的TOP数据时,怎么办呢?
解决方案:
使用 TOP 100 PERCENT ( SELECT TOP 100 PERCENT 字段 FROM 表 ORDER BY 排序字段)。
TOP 100 PERCENT相当于把记录数的100百之百SELECT出来。

浅谈数据库设计技巧(下)[转]

三、多用户及其权限管理的设计
  开发数据库管理类的软件,不可能不考虑多用户和用户权限设置的问题。尽管目前市面上的大、中型的后台数据库系统软件都提供了多用户,以及细至某个数据库内某张表的权限设置的功能,我个人建议:一套成熟的数据库管理软件,还是应该自行设计用户管理这块功能,原因有二:
  1.那些大、中型后台数据库系统软件所提供的多用户及其权限设置都是针对数据库的共有属性,并不一定能完全满足某些特例的需求;
  2.不要过多的依赖后台数据库系统软件的某些特殊功能,多种大、中型后台数据库系统软件之间并不完全兼容。否则一旦日后需要转换数据库平台或后台数据库系统软件版本升级,之前的架构设计很可能无法重用。

浅谈数据库设计技巧(上)[转]

说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程 序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的 第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中 的数据成员和函数划分访问权限,从而实现封装。

页面

订阅RSS - 数据库