前言:在使用oracle数据进行开发的时候有没有经常出现一些很奇怪、很纳闷、很无厘头的问题呢。下面是本人使用oracle一段时间遇到的问题小节,在此做个记录,方便以后再遇到类似的问题能快速解决。如果你是数据库大虾或者连续使用oracle数据库1年以上,这篇文章可以不用看了,此文请直接略过;如果你是数据库小菜或者刚从sql server转到使用oracle开发,这些问题可能你曾经遇到或者即将遇到,不信?走着瞧!

 

1、oracle插入数据中文乱码的问题:

问题描述:在plsql中不管是编辑数据,还是使用insert语句插入,所有的中文都会变成乱码。

解决方法:

我的电脑---右击---属性---高级---环境变量---系统变量---新建

变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定后再试试,OK。

 

2 、在plsql中增删改数据后,查询看到结果变了,但是程序访问还是原来的数据。

问题描述:测试需要,在plsql中更新一条数据,然后程序查询该数据。很奇怪的是程序查询到的结果总是更新之前的。怎么回事?

解决方法:plsql里面有一个提交的操作,在增删改数据后,需要提交一下数据,其他进程才能访问到修改的数据。如果你之前一直用的ms sql server,刚使用oracle的过程中,是否也遇到类似的问题呢。

 

3、在plsql中修改数据后,没有提交,程序修改这个表数据时就会卡死。因为表被plsql的进程锁掉了。需要在plsql里面提交数据,这个时候锁才会释放。这也就是为什么经常看到下面代码的原因:

lock (syncCommit)
{
    try
    {
          return context.SaveChanges();
    }
    catch (DbEntityValidationException dbEx)
    {

    }    
}

 

4、使用PowerDesigner设计表后生成DDL语句,执行DDL语句后表、字段、关联键都可以正常生成,可是奇怪的问题就来了,你在plsql里面select * from table1表时,提示表或者视图不存在,可是你仔细看了好多遍,表明明存在呀。还出鬼了呢。。。

问题描述:我们来看生成的DDL语句

/*==============================================================*/
/* DBMS name:      ORACLE Version 11g                           */
/* Created on:     2015/7/2 15:45:52                            */
/*==============================================================*/


drop table "TB_Department" cascade constraints;

drop table "TB_Menu" cascade constraints;

drop table "TB_MenuRole" cascade constraints;

drop table "TB_Role" cascade constraints;

drop table "TB_UserRole" cascade constraints;

drop table "TB_Users" cascade constraints;

/*==============================================================*/
/* Table: "TB_Department"                                       */
/*==============================================================*/
create table "TB_Department" 
(
   "department_id"      CHAR(10),
   "department_name"    CHAR(10),
   "parent_id"          CHAR(10),
   "level"              CHAR(10),
   "status"             CHAR(10)
);

/*==============================================================*/
/* Table: "TB_Menu"                                             */
/*==============================================================*/
create table "TB_Menu" 
(
   "menu_id"            CHAR(10),
   "menu_name"          CHAR(10),
   "menu_url"           CHAR(10),
   "parent_id"          CHAR(10),
   "level"              CHAR(10),
   "sort_order"         CHAR(10),
   "status"             CHAR(10),
   "remark"             CHAR(10)
);

/*==============================================================*/
/* Table: "TB_MenuRole"                                         */
/*==============================================================*/
create table "TB_MenuRole" 
(
   "id"                 CHAR(10),
   "role_id"            CHAR(10),
   "menu_id"            CHAR(10),
   "role_type"          CHAR(10),
   "button_id"          CHAR(10)
);

/*==============================================================*/
/* Table: "TB_Role"                                             */
/*==============================================================*/
create table "TB_Role" 
(
   "role_id"            CHAR(10),
   "role_name"          CHAR(10),
   "description"        CHAR(10),
   "createtime"         CHAR(10),
   "modifytime"         CHAR(10)
);

/*==============================================================*/
/* Table: "TB_UserRole"                                         */
/*==============================================================*/
create table "TB_UserRole" 
(
   "id"                 CHAR(10),
   "role_id"            CHAR(10),
   "user_id"            CHAR(10)
);

/*==============================================================*/
/* Table: "TB_Users"                                            */
/*==============================================================*/
create table "TB_Users" 
(
   "user_id"            INT,
   "user_name"          CHAR VARYING(0),
   "user_password"      CHAR VARYING(0),
   "fullname"           CHAR(10),
   "department_id"      CHAR(10),
   "status"             CHAR(10),
   "createtime"         DATE,
   "modifytime"         DATE,
   "remark"             CHAR(10)
);

comment on table "TB_Users" is
'用户信息表';
View Code

相关文章:

  • 2021-06-14
  • 2021-11-27
  • 2022-12-23
  • 2021-07-02
  • 2022-02-21
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
猜你喜欢
  • 2022-01-15
  • 2021-08-07
  • 2021-10-20
  • 2021-04-01
  • 2022-12-23
  • 2021-07-23
  • 2022-12-23
相关资源
相似解决方案