Oracle数据库&远程连接&ODBC驱动

安装Oracle

因为高级数据库课程需要,开始学习Oracle数据库,学习Oracle首先要安装,我尝试在linux上安装,结果失败了,然后把笔记本重新安装成Windows之后在上面安装上了Oracle。(在Windows上面安装Oracle也会提示很多错误,全部忽略就行了)

Oracle安装完成之后,可以通过SQLplus进行连接,但是sqlplus不是图形化界面不利于保存SQL语句,还是想要通过图形界面访问,一开始使用PLSQL,但是一直连接不上,后来直接用Oracle提供的sqldeveloper进行连接。

本地连接没什么特殊的,很容易就连接成功了,让我头疼的是如何远程连接,我按照网络上的教程,使用Net Managment配置本地服务和监听器,但是在远端使用Sqldeveloper就是通过不了测试,后来发现网上有教程说我缺少Instant Client(即时客户端),下载之后配置好了发现也不行。

我突然想起了之前sqlserver远程连接的时候需要重启服务,于是我去重启了一遍Oracle的TNSListener服务,果真,重启之后配置重新载入就好了。

Oracle小记:

  1. 每个Oracle用户一个表方案,访问不同用户的表需要在表名字前面加用户名。

  2. Oracle新建数据库是新建一个服务。

  3. create user *name* identified by *passwd*创建用户

  4. grant connect,dba,resource to *name*分配权限

在Windows上安装Oracle驱动

为了做分布式实验,需要在一个没有安装Oracle数据库的Windows上面用ODBC来访问oracle,百度了很多,那些回答、博客一点用也没有,唯一有用的是这个,这篇博客说的是对的。

所以我们需要下载两个东西一个是base包(instantclient-basic),另一个是ODBC包(instantclient-odbc),下载下来之后是两个压缩包,解压然后合并(其实都把它们解压到一个位置即可,因为里面的文件夹名字都是一样的,会自动合并),然后把这个文件夹放置到随便一个你喜欢的地方,然后进去用管理员权限运行”odbc_install.exe”就行了,这时候ODBC管理程序里面就会出现Oracle in instantclient了。

要连接服务器还必须得配置TNS,在instantclient根目录下面新建一个目录叫做”NETWORK”,进去再新建一个目录叫做”ADMIN”,在ADMIN里面新建一个文件叫做”tnsnames.ora”(当然你也可以从Oracle服务器里面直接复制出来),这时候还需要配置两个环境变量,分别是ORACLE_HOMENLS_LANG。第一个变量值就是instantclient目录(比如D:instantclient_11_2),第二个变量值等于SIMPLIFIED CHINESE_CHINA.ZHS16GBK,这个变量是解决sql通过odbc查询中文乱码问题的。

这时候你去ODBC管理程序里面就可以配置Oracle服务器了。TNS Service Name里面可以下拉出你在tnsnames.ora配置的内容(如果下拉不到东西说明你ORACLE_HOME变量没有配置)。

后来我发现,想要在SqlServer Management Studio里面连接Oracle数据库最简单的方法还是在电脑上安一个Oracle客户端……
最后还是没能逃过安装Oracle.

    原文作者:liyu34
    原文地址: https://segmentfault.com/a/1190000007866983
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞