• 将实朴主流程移植到九安的过程中遇到的问题及解决方法


      经过一个星期的努力,已完成将实朴主流程移植到九安的工作任务,期间遇到了不少问题。由于是新入职的新手,遇到的问题都是第一次接触到的,通过向老同事虚心讨教,基本上都找到了解决的方法。现将我遇到的问题及解决的方法大致罗列如下:

      一、进入StarLims时报错

      ① 报错信息:ORA-01033:Oracle initialization or shutdown in progress

        报错原因:Oracle实例没有启动

        解决方法:

          <1> 进入SQL Plus,执行命令:sqlplus /nolog

           

          <2> 执行命令:conn sys/lims as sysdba;,以系统管理员(sysdba)身份连接数据库

           

          <3> 执行命令:recover database;,进行介质恢复

           

          <4> 执行命令:alter database open;,打开数据库

           
          <5> 问题已解决。重新进入StarLims即可。

      ② 报错信息:ORA-27101 Shared memory realm does not exist

        可能原因: 非正常关闭数据库

        解决方法: 

          <1> 进入cmd,执行命令:lsnrctl start,启动Oracle监听

           

          <2> 执行命令:sqlplus /nolog进入sqlplus

           

          <3> 执行命令:conn / as sysdba以系统管理员身份进行登录

           

          <4> 执行命令:startup启动例程

           

          <5> 问题解决。

      ③ 报错信息:ORA-12518 TNS:监听程序无法分发客户机连接

        可能原因: 未知

        解决方法(视情况):进入服务管理,重启Oracle相关服务。

           

      ④ 报错信息:SQL error: ORA-12541: TNS: 无监听程序

                SQL stmt: Select VERSION from DATABASE_VERSION where ORIGREC = (select max(origrec) from DATABASE_VERSION)

       可能原因: 1. OracleOraDb11g_home1TNSListener  

             2. 主机名与Oracle Net Manager中的配置的地址的主机名不一致

       解决方法: <1>  开始--》运行--》services.msc,找到OracleOraDb11g_home1TNSListener 服务,并重启。如果还是不行,看第<2>步

             <2> 进入Oracle Net Manager,将服务名和监听程序的地址的主机名与计算机主机名一致,重启OracleOraDb11g_home1TNSListener 服务

      

      二、StarLims设计器报错

      ① 报错信息: Exception of type: SSLRunException
                                 Description: Unknow DataSource Id: 35FDAA13-5E45-49C1-9C30-E8B05CCEF92B
              Location: _GetData
              Code: 1002

        报错原因: 找不到某个DataSource脚本

        解决方法: 每一个DataSource脚本对应唯一的DataSource Id,需要根据DataSource Id找到使用此脚本的源(可能是某个控件的

                                data属性或者DataGrid的   某个字段的data属性)即可。

          <1> 在报错信息所在的Form文件名上按住shift双击,打开解析出来的此Form对应的xml文件

          <2> Ctrl + F调出查找窗口,查找报错信息中的DataSource Id

          <3> 找到此DataSource Id所在行的根节点即可找到使用此脚本的源

          <4> 更改找到的源的data属性即可。

      ② 报错信息: Script not found!

              Name: CLIENT_PROJECT.GET_PROECTS
              Type: DataSource

        报错原因: DataSource脚本不存在

        解决方法: 检查是否拼错DataSource脚本名称,或者在对应Form的DataSource中添加相应的脚本即可。

      

      ③ 报错信息: Script not found!

              Name: CLIENT_PROJECT.urrentUserIsRASManager
              Type: ServerScript

        报错原因: Server Script脚本不存在

        解决方法: 检查是否拼错Server Script脚本名称,或者在对应Form的Server Script中添加相应的脚本即可。

      ④ 报错信息: SQL error: ORA-00904: "XXX"."YYY": 标识符无效

              ORA-00904: "XXX"."YYY": 标识符无效

          错误原因: XXX表中缺失字段YYY

        解决方法: 在Table Manager中找到表XXX,添加字段YYY即可。

      

      ⑤ 报错信息: SQL error: ORA-00942: 表或视图不存在

              ORA-00942: 表或视图不存在

              SQL stmt: <SQL语句>

        错误原因: 表不存在

        解决方法: 在Table Manager中添加SQL语句中缺失表即可。

      三、SQL Server与Oracle的sql语句不兼容的相关问题

            由于实朴用的是SQL Server 数据库,而九安用的是Oracle数据库,SQL Server中好多自带的函数都不能在Oracle中使用,

        一些查询语句的使用规则也不尽相同,从而导致一些不兼容的情况发生。遇到的情况如下:

        ① 函数等不兼容的问题

        

       ② sql语句的区别

        根据第二张表的关联关系更新第一张表中的数据

        SQL Server:

             update userinfo  
           set userinfo.username=i.username,userinfo.password=i.password
           from info i
           where userinfo.id = i.id;

        Oracle: 

           update userinfo  
           set (userinfo.username,userinfo.password)
           =(select username,password from info i where userinfo.id = i.id);

          

       

    作者:caobotao
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
    作者:caobotao
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    指定的 LINQ 表达式包含对与不同上下文关联的查询的引用
    无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类
    获取路径 GetModuleFileName() GetModuleFileName() GetCurrentDirectory
    重启动界面 ShellExecute() ShellExecute()
    MFC 强大功能函数
    extern 头文件 定义&声明
    全局变量/常量
    有时不需要头文件包含也能编译过
    字符串(3):字符串与函数
    函数不能传递动态内存
  • 原文地址:https://www.cnblogs.com/caobotao/p/4949508.html
Copyright © 2020-2023  润新知