• 数据库错误集锦


    一、SQL

    1.解决SQL Server 2000 错误15023:当前数据库中已存在用户或角色

      原因:sql server中“登录”与“用户”的区别,“登录”用于用户身份验证,而数据库“用户”帐户用于数据库访问和权限验证。登录通过安全识别符 (SID) 与用户关联。将数据库恢复到其他服务器时,数据库中包含一组用户和权限,但可能没有相应的登录或者登录所关联的用户可能不是相同的用户。这种情况被称为存在“孤立用户”。此时是不能通过新建登录或者是对同名登录授予对应数据库的“用户”权限来解决登录问题,因为SQL Server会报出“错误15023:当前数据库中已存在用户或角色”.

      解决办法:

    Use netzs

    go
    sp_change_users_login 'update_one', 'yjsy312', 'yjsy312'

            其中netzs为存在孤立用户的数据库,update_one是存储过程的参数,表示只处理一个用户,前一个yjsy312是“用户”,后一个yjsy312是“登录”,以上这个SQL表示将服务器登录“yjsy312”与 netzs 数据库用户“yjsy312”重新连接起来。这样就可以正常使用数据库了.

    2.SQL Server 2005 Express附加数据库为"只读"的解决方法

      原因:启动SQL Server 的默认的启动帐号“网络服务”对所附加(Attach)的数据库文件的权限不够。

      解决办法:打开 SQL Server Configuration Manager, 右键SQL Server SQLEXPRESS 的属性,内置帐号处,把“网络服务”改成“本地系统”,重新启动SQL Server 2005 Express 后,再附加数据库一切正常。

    2. 备份集中的数据库备份与现有的数据库不同
          解决办法:SQL2005资源管理器-数据库右键——还原数据库——源设备选择文件,目标数据库选择已创建的数据库,然后在选项里选择覆盖现有数据库,点击确定即可。

    3. 创建 对于 登录“blue"用户失败。 (Microsoft.SqlServer.Smo)  

      其他信息:  
      执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)  
      此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项。 (Microsoft SQL Server,错误: 15195)  
     出现此问题,那么只要在 常规选项中不要选择敢消强制密码过期选项 就可以了。

    二、Oracle

    1. ORA-12154 无法解析指定的连接标识符

     解决办法:

     (1)  一开始遇到这个问题时,在网上搜了好多解决办法,但是都不起作用。后来实在没办法只能重装oracle,在重装oracle时,提示了

          正在检查网络配置需求...
      检查完成。此次检查的总体结果为: 未执行 <<<<
      建议案: orcle支持在具有 DHCP 分配的 IP 地址的系统上进行安装。但在安装之前,
      必须将 Microsoft LoopBack Adapter 配置为系统的主网络适配器。
      有关在配置有 DHCP 的系统上安装软件的详细信息, 请参阅 Installation Guide。

      看到这个警告时我忽然想,ORA-12154错误会不会与这个警告有关。后来才知道,ORA-12514确实是网络配置不对,按网上介绍的那样添加Microsoft LoopBack Adapter,然后通过oracle客户端连接客户端,就不会出现ORA-12514错误了。

    (2) 如果装了Microsoft LoopBack Adapter之后,还会出现这样的问题,那就得一步一步排查了。

          首先把LISTENER.ORA文件改为:

          SID_LIST_LISTENER =  

           (SID_LIST =   

               (SID_DESC=     

                 (GLOBAL_DBNAME= ORCL)     

                 (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)     

                 (SID_NAME=ORCL)    

               )

              (SID_DESC =     

                (SID_NAME = PLSExtProc)     

                (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)     

                (PROGRAM = extproc)   

              )

           )

           之后可能会出现:

            ORA-01034: ORACLE not available

            ora-27101 shared memory realm does not exist 错误

            这是因为你的Oracle实例没启动。

            打开命令行工具,sqlplus /nolog 

            SQL->connect /as sysdba   如果提示"已连接到空闲例程",就说明你的Oracle实例没启动。

            SQL->startup

            最后提示:

            数据库装载完毕

            数据库已经打开

            这时,再登陆Oracle数据库应该就没问题了。

     (3)如果操作系统是64位,而Oracle客户端是32位,也会出现这个问题。因为64位操作系统下,32位程序默认安装在“C:/Program Files (x86)”目录下,目录名称中包含“)”。运行的32位应用程序进程的全路径名称中如果包含“)”,则连接ORALCE数据库会报错:“ORA-12154: TNS: 无法解析指定的连接标识符”。解决办法:将程序目录移出有x86的文件夹,重新在注册表注册路径。



  • 相关阅读:
    如何在应用系统中实现数据权限的控制功能(2)
    客户关系管理系统中对客户及相关数据的导入导出分析处理
    基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出
    基于MVC4+EasyUI的Web开发框架经验总结(9)--在Datagrid里面实现外键字段的转义操作
    基于MVC4+EasyUI的Web开发框架经验总结(8)--实现Office文档的预览
    基于MVC4+EasyUI的Web开发框架经验总结(7)--实现省份、城市、行政区三者联动
    基于MVC4+EasyUI的Web开发框架经验总结(6)--在页面中应用下拉列表的处理
    WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
    .NET项目开发的几个非常重要的项目设置
    使用NVelocity生成内容的几种方式
  • 原文地址:https://www.cnblogs.com/bluecountry/p/1705851.html
Copyright © 2020-2023  润新知