前段時間,由於要給本身開發的搜易站內搜索引擎增長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也沒那麼難,固然要精通估計會遇到很多坑。字符串