zoukankan      html  css  js  c++  java
  • 数据库错误集锦

    一、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的文件夹,重新在注册表注册路径。



  • 相关阅读:
    Palindrome Partitioning
    Minimum Path Sum
    Maximum Depth of Binary Tree
    Minimum Depth of Binary Tree
    Unique Binary Search Trees II
    Unique Binary Search Trees
    Merge Intervals
    Merge Sorted Array
    Unique Paths II
    C++ Primer Plus 笔记第九章
  • 原文地址:https://www.cnblogs.com/bluecountry/p/1705851.html
Copyright © 2011-2022 走看看