oracle连接字符串解析
在一个基于TCP/IP协议的网络环境中,oracle数据服务器在一台计算机上,客户端在另外一台计算机上,客户端要连接到oracle服务器我们经常会输入:"C:\sqlplus scott/tiger@shanghai",这是oracle客户端连接服务器时使用的连接命令,其中sqlplus是oracle客户端程序,scott/tiger是登陆服务器的用户名和密码,@shanghai是本地网络服务名,它代表了远程数据库服务器的信息,它的另外一种叫法叫做tns服务名称。tns英文全称是transparent network substrate,译作透明网络传输底层,它是内建于oracle客户端的一个程序,它用于进行远程连接并将@shanghai翻译成有用的连接信息。一般来说客户端都有一个名称为tnsnames.ora的文件,这是一个文本文件在[oracle_home]\network\admin下面可以找到,内容如下:
SHANGHAI=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 205.220.98.96)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = Products)
)
)
连接oracle数据库服务器时该程序加载该文件,并将对应的tns服务名称转换成连接信息连接数据库。因此客户端程序知道该如何连接到oracle数据库了,它将打开1521端口到205.220.98.96连接的TCP/IP套接字,此时服务器端的监听程序也在运行,监听到客户端的连接后就会接受在请求,并检查连接信息是否正确及合法。连接正确则接受该请求,否则拒绝。
相关文档:
下载方法:在下面的连接上点击右键,选择使用迅雷下载。使用别的下载工具无法下载。
oracle 10.2.0.4 补丁下载(适用于所有操作系统):
ftp://updates.oracle.com/6810189/p6810189_10204_AIX5L.zip
ftp://updates.oracle.com/6810189/p6810189_10204_HPUX-IA64.zip
ftp://updates.oracle.com/6810189/p6810189_10204 ......
使用scott/tiger用户下的emp表和dept表完成下列练习,表的结构说明如下
emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号)
dept部门表(deptno部门编号/dname部门名称/loc地点)
工资 = 薪金 + 佣金
1.列出至少有一个员工的所有部门
......
spool d:\deletetb.sql;
select 'delete ' || table_name || ' where to_char(col,'||'''yyyy'''||')='||'''2007'''||';'
from user_tables
where table_name in (select 'HS_' || lpad(rownum, '2', '0')
from dual
  ......
SQL> DESC TEST 测试表: Name Type Nullable Default Comments
---- ------------ ......
无疑注释现在都被大家接受和认可,在大家编程用的IDE中都提供或有第三方插件来支持提取注释内容实现
快速了解结构的功能。但在数据库的脚本编写方面我也是经历了百般折磨后总结了一些东西发来与大家切磋。
下面来看一个Oracle建表的方式。
create table ctable_name
(
......