189 8069 5689

oracle怎么做兼容,兼容oracle语法的数据库

如何实现Oracle,Mysql,SqlServer数据库的兼容

没个数据库的语法总会有那么点

成都一家集口碑和实力的网站建设服务商,拥有专业的企业建站团队和靠谱的建站技术,十年企业及个人网站建设经验 ,为成都上千多家客户提供网页设计制作,网站开发,企业网站制作建设等服务,包括成都营销型网站建设,品牌网站设计,同时也为不同行业的客户提供成都网站设计、成都网站制作的服务,包括成都电商型网站制作建设,装修行业网站制作建设,传统机械行业网站建设,传统农业行业网站制作建设。在成都做网站,选网站制作建设服务商就选创新互联。

或多或少的区别,你说的兼容

是指

做项目的时候,切换不同的数据库,而只需写一种语句么?如果是的话,那我推荐你使用

Hibernate

,给它配置

sessionFactory

,几个数据库,就写几个sessionFactory

,这样就能只需写个hql语句,就能实现我说的

切换数据库了,不知道

是不是你需要的

PostgreSQL Oracle 兼容性之存储过程

 在oracle中,函数和存储过程是经常使用到的,并且有所区别;而postgresql中函数和存储过程都是相同定义的。

 1.定义:定义存储过程的关键字为procedure。

 2.创建存储过程

例:

(无参数)

(有参有返)

总结 :

 1.创建存储过程的关键字为procedure。

 2.传参列表中的参数可以用in,out,in out修饰,参数类型一定不能写大小。列表中可以有多个输入输出参数。

 3.存储过程中定义的参数列表不需要用declare声明,声明参数类型时需要写大小的一定要带上大小。

 4.as可以用is替换。

 5.调用带输出参数的过程必须要声明变量来接收输出参数值。

 6.执行存储过程有两种方式,一种是使用execute,另一种是用begin和end包住。

 1.定义:定义函数的关键字为function。

 2.创建函数

总结 :

 1.定义函数的关键字为function 。

 2.必须有返回值,且声明返回值类型时不需要加大小。

 3.函数中定义的参数列表不需要用declare声明,声明参数类型时需要写大小的一定要带上大小。

 4.as可以用is替换。

  5.执行存储过程有两种方式,一种是使用select,另一种是用begin和end包住。

不同点:

 1.存储过程定义关键字用procedure,函数定义用function。

 2.存储过程中不能用return返回值,但函数中可以,而且函数中必须有return子句。

 3.执行方式略有不同,存储过程的执行方式有两种(1.使用execute2.使用begin和end),函数除了存储过程的两种方式外,还可以当做表达式使用,例如放在select中(select f1() form dual;)。

 postgresql则将函数和存储过程合为一体,不再明确区分存储过程与函数。

 1.定义:定义函数(存储过程 )的关键字为function。

 2.创建

例:

 1.必须有有returns(注意是returns不是return)子句,无返回值时returns viod

 2.执行时,有返回值用select,无返回值时用perform

 3.必须指定语言LANGUAGE

怎么解决oracle版本不兼容

好像一台机子是不可能完成的

两台机子一台安装8i一台安装10g倒可以解决方案如下:

1、用oracle8i客户端的exp命令将sun250上的数据导出到某台pc机客户端。Exp导出时选择JSERP用户和ERPUSER3用户,分别到成数据文件jserp.dmp和erpuser3.dmp.

2、在新的oracle10g数据库中建立DBERP和DBSYS表空间,分别建立用户JSERP和ERPUSER3,对其分配权限,要与oracle8i中的表空间和用户的设置完全一样。

3、在oracle8i客户端用imp命令将刚才导出的数据文件jserp.dmp和erpuser3.dmp上传到sunv890上的oracle10g,上传时也是选择上传用户。上传完毕后,将sun250的网线拔掉,将sunv890的网线插上。4、修改SunV890的IP和机器名,改ip:(改为sun250的ip,由10.11.1.19改为10.11.1.11)。

$ Vi /etc/hosts

改机器名: (改为sun250的机器名,由hssun改为jgsun)

$ Vi /etc/nodename

$ Vi /etc/hosts

$ Vi /etc/hostname.ge0

$ reboot

5、此时发现reboot后,监听、数据库和iSqlplus的服务还都可以起来,只是EM的服务启动不起来了!

6、Emctl start dbconsole

出现如下错误:

找不到路径

oracleproduct10.2.0Db_1hssun_ora8

oracleproduct10.2.0Db_1oc4jj2eeoc4j_DBConsole_hssun_ora8

我将上面两个文件夹的名称中的hssun改为jgsun。可以继续启动了,但是最后还是起不来。

7、搜索jgsun_ora8sysman目录下的config目录和emd目录,找到所有含有hssun的文件,改为jgsun,log文件不用修改。

此时,em服务可以成功启动了,但是em界面运行不正常。Em界面中主机名还是hssun,许多连接打不开。

8、$ emca –config dbcontrol db (这是oracle10g的命令,8i和9i是emca -r)

输入以下信息:

SID:ora8 (同sun250上的oracle8i的SID)

Listener port number: 1521

Sys 口令:******

……

好了,再次emctl start dbconsole EM就可以正常运行了!


名称栏目:oracle怎么做兼容,兼容oracle语法的数据库
文章来源:http://jkwzsj.com/article/hsdisd.html

其他资讯