前段时间,由于要给本身开发的搜易站内搜索引擎增长Oracle数据库的支持,因此学习了下Oracle的基础知识,发现使用方式跟MYSQL,MSSQL等数据库的思惟有很大的不一样,总结一下几点不一样,但愿给初学者一点经验,减小学习的时间:数据库
一,Oracle数据没有数据库的概念学习
咱们使用MSSQL等数据,习惯的思惟是先有数据库,而后有表,而后有个用户能够访问这个数据库,可是Oracle是没有数据库这个概念的,他的用户就等于数据库,用户下面有表,这个是很大的不一样,这个思惟习惯要转变,要否则没法理解。搜索引擎
二,连接字符串和连接方式也有些不一样.net
我摸索了一下,发现Oracle的连接字符串呢,写法有两种:索引
2.1,简洁模式
Data Source=XE;User ID=user;Password=pwd;
这种字符串很简介,但先须要在tnsnames.ora(在Oracle安装目录搜索一下能够找到)文件里配置以下:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = mypc)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
这种连接方式,对本地和远程数据库都有用,假如我有一个远程Oracle数据库,基本信息以下:
IP : 33.33.33.33
端口:1521
服务名orcl
帐号:u
密码:p
那么先在tnsnames.ora里增长一段代码以下:
ycdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 33.33.33.33)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
而后,连接字符串就能够写成:
Data Source=ycdb;User ID=u;Password=p;
对比一下,应该很好理解。
2.2,长模式
沿用上面的远程数据库例子,只是这种状况无需配置tnsnames.ora了,连接字符串就以下:
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=33.33.33.33)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)));Password=p;User ID=u;
对比一下,其实就是把tnsnames.ora的里代码所有写入到连接字符串了。
至于那种方式比较方便,因人而已吧。我我的比较喜欢第一种写法,简洁,看着舒服。开发
感受Oracle也没那么难,固然要精通估计会遇到很多坑。字符串