数据库表编译失效
‘壹’ java连接access数据库编译出错我是新手,希望大师给指点一下
错误真不少
一、improt java.sql.* 后要有一个分号";"
二、class.forName(driver);中的class首字母要大写,即Class.forName(driver);
三、System.out.println("无法加载驱动!"+drver); 中drver拼写错误
四、Connection con=DriverMannager.getConnection(url,user,password);
中的DriverMannager拼写错误,应为DriverManager
五、System.out.println(失败了); 要加上双引号
六、最后多了一个大括号
‘贰’ MySQL的事物怎么失效了
MYSQL事务处理失效原因
最近项目中使用mysql数据库时出现一个问题,运用spring的事务注解(@transaction)来管理事务时,发现用事务注解@transaction标记的方法里,如果出现异常,事务并没有回滚,而是直接提交到了数据库,刚开始还以为是spring的事务配置有问题,检查一遍后还是不行,最后查阅了很多资料才发现原来是mysql数据库存储引擎的问题。
mysql有多种存储引擎,有些版本(mysql5.5.5以前默认是MyISAM,mysql5.5.5以后默认是InnoDB)安装时默认的存储引擎是MyISAM,而MyISAM存储引擎是不支持事务处理的,所以才导致了项目中service层的某个方法事务失效,解决的方法就是将需要事务管理的表的存储引擎改为InnoDB,下面将详细说明mysql的几种存储引擎以及如何修改存储引擎:
一、查看mysql数据库所支持的存储引擎
show ENGINES;

3、修改表的存储引擎
alter table table_name engine=innodb;
‘叁’ 数据库创建表列的时侯编译出错
1、table写错了。
2、group是mysql的关键字,不能作为表名!!!谨记!
‘肆’ ORACLE存储过程批量未编译
对存储过程中用到的表进行过alter处理
譬如你对存储过程中用到的表a,加了一个字段,虽然对存储过程中整体内容不影响,但是alter处理后,你会发现,这些存储过程变成未编译通过的了,这个时候只要重新编译一下就行,当然也有alter后,存储过程编译不过去的情况,这个时候你就需要重新写里边的内容了
‘伍’ 如何重编译ORACLE数据库的无效对象
Oracle中出现无效对象,就是因为在创建函数或存储过程等,里边的内容书写不正确导致。如果要重新编译,需要先修正错误,然后编译。
工具:Oracle 10g、PL/SQL
步骤:
1、在PL/SQL中打开出现编译错误的函数或存储过程,这里以存储过程为例。

‘陆’ 数据库存储过程编译出错
可用第三方工具检查错误。
如以下存储过程:

‘柒’ 如何有效的编译数据库中的失效对象
如果无效对象的数量很少,那么你可以逐个编译这些对象. ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procere COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE;
‘捌’ 创建下边的数据库表时出现了问题: 1 不知如何输入确定列是否可取空值的语句,2,编译不成功!
create table student
(
Sno char(9) not null, /* 学生学号*/
Sname char(6) , /*学生姓名*/
Ssex char(2) , /*学生性别*/
Sage integer , /*学生年龄*/
Sdept VarChar(8), /*身份证号*/
primary key (Sno)
);
not null 指定Sno该指标不能为空.
每个字段之间用逗号分割。
‘玖’ oracle 数据库中一个package突然失效,导致程序无法进入,求高手指点
运行$ORACLE_HOME/rdbms/admin/utlrp.sql可以编译所有的包,如果你经常发生包失效的事情,有必要定时做个DBA作业来运行这个编译工作,
至于失效的原因,一般来说只要某个它用到的OBJECT的修改都会引起它失效的,把审计开启去找具体SQL语句吧,没有什么太好的办法。
‘拾’ 数据库oracle触发器出现编译错误
trigger update 当前table ,不能使用update,
用参考:
:new.transaction_date := trunc(:new.transaction_date,'MONTH') - 1/24/60;
我觉得这里如果使用update语句,是不是会无限循环?我以前也遇到过!
