iT邦幫忙

0

關於tnsnames設定?

lbbo 2014-01-08 09:42:0742716 瀏覽

這是與原廠聯係的信件內容。有人知道tnsnames確切的用法嗎?
我是有看沒有懂啊~"~
we need the sqlplus / sqlldr to connect to the database and therefore we need an tnsnames (this is an alias given for an database connection so you don’t need to enter the entire connection which contains the servername, dbname, port, etc…) entry. We need this to import data later by the mission automatically.

2 個回答

4
海綿寶寶
iT邦大神 1 級 ‧ 2014-01-08 10:13:13
最佳解答

sqlplus / sqlldr 是 Oracle 資料庫的工具程式
要連接上 Oracle 資料庫
必須提供他連線資訊
做法是在 sqlplus / sqlldr 的同一台機器(client)上
提供 TNSNAMES.ORA檔案

由於 TNSNAMES.ORA 中可以提供多組設定
(連到不同資料庫、測試或正式環境...等等)
所以需要 tnsname 來決定要使用的是那一組設定

以上面的例子來說
tnsname 就是 ORA11

月半車甫 iT邦研究生 3 級 ‧ 2014-01-09 10:09:34 檢舉

一般在PC端的安裝環境,會出現這種目錄底下的檔案
D:\DevSuiteHome_4\network\ADMIN\tnsnames.ora
這是安裝路徑,會根據不同的Oracle DB版本、或是ERP版本會有所不同
D:\DevSuiteHome_1,或者是C:\Orant....可檢查regedit(開始->執行->)的Oracle安裝路徑。network,net8,....也可能因版本而異。
找到這個檔案tnsnames.ora

這個設定檔的內容決定了本機端的SQLPLUS能否正確連上指定的Oracle DB。
用記事本即可開啟,也可用TOAD(試用版、或付費購買)這種開發工具來設定/修改。
PROD =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = tcp)
(HOST = abcdb01.abc-group.com.tw)
(PORT = 1521)
)
(CONNECT_DATA =
(SID = PROD)
)
)

SID=PROD是DB主機名,屆時SQLPLUS可以輸入以下去連線到Oracle DB(以下是假設帳號)
user_name:scott
pass:tiger
server:PROD

3
sam0407
iT邦高手 1 級 ‧ 2014-01-10 09:27:32

TNSNAME.ORA簡單說就是Oracle資料庫的連線設定檔,放在Oracle Client安裝路徑下的Network資料夾下(印象中是這路徑,很久沒用Oracle不確定了,在Oracle Client安裝路徑搜尋TNSNAME.*,會有一個Sample檔,用那個來改就行了)內容就是像yafuu168大所貼的資料,必要資訊就是HOST(ip或是主機名)、SID(Instance名稱)、Port(預設值是1521,安裝時改過請跟著改)
TNSNAME.ORA檔案改好後,可先用TNSPING SID來測試設定是否正確。

TNSPING指令Ping的到,就可以用sqlplus user_name/password@SID連到資料庫了!

我要發表回答

立即登入回答