Oracle-12514 |
答題得分者是:carstyc
|
2007
中階會員 發表:54 回覆:90 積分:98 註冊:2008-08-12 發送簡訊給我 |
各位大大好:
我用 TADOConnection 連 Oracle 資料庫,會出現這問題要怎麼解決?? 謝謝!! 因為客戶用的資料庫是用Oracle,因此小弟在開發時是灌 Oracle Database 10g Express Edition (Universal) Client 灌 OracleXEClient.exe 來連資料庫,都可以正常連線,但拿去客戶那兒確不能連,是那兒出問題了?? 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 客戶有說是 SID 的問題,但 ConnectionString 又沒有 SID 的參數??? (SID=*)(SERVICE_NAME=192.168.1.101)(.................................... 因為對oracle 不熟,所以煩請大大幫助,謝謝!! 編輯記錄
2007 重新編輯於 2009-06-26 14:46:51, 註解 無‧
|
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
這個訊息就是告訴你 SID 不正確。
因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME ===================引 用 2007 文 章=================== 各位大大好: 我用 TADOConnection 連 Oracle 資料庫,會出現這問題要怎麼解決?? 謝謝!! 因為客戶用的資料庫是用Oracle,因此小弟在開發時是灌 Oracle Database 10g Express Edition (Universal) Client 灌 OracleXEClient.exe 來連資料庫,都可以正常連線,但拿去客戶那兒確不能連,是那兒出問題了?? 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 客戶有說是 SID 的問題,但 ConnectionString 又沒有 SID 的參數??? (SID=*)(SERVICE_NAME=192.168.1.101)(.................................... 因為對oracle 不熟,所以煩請大大幫助,謝謝!! |
2007
中階會員 發表:54 回覆:90 積分:98 註冊:2008-08-12 發送簡訊給我 |
謝謝carstyc大大的回應!!
大大的意思是: 我原本的: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 改成: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=SID;Persist Security Info=True 也就是我讓客戶輸入IP 的那一個 edit,輸入客戶設定的 SID 值,就可以了,是嗎??? PS:我有放三個 EDIT ,一個輸入 Password,一個輸入 User ID,一個輸入 IP 或 SERVERNAME 還有: 為什麼 Provider=OraOLEDB.Oracle.1; <--我用這個 測試連線會失敗??? Provider=MSDAORA.1; <--我用這個連 "Oracle Database Express" 是ok 的。 謝謝大大!!! ===================引 用 carstyc 文 章=================== 這個訊息就是告訴你 SID 不正確。 因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True
編輯記錄
2007 重新編輯於 2009-06-26 16:44:12, 註解 無‧
|
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
不是哦.. 應該是我剛剛沒有講完整, 電腦端裝好了 Oracle Client 後,可以用它的 network assistant 去設定 TNSID 而 TNS 就是由 IP / SID / connect port 三個要素組成的 而你的 AP 裡面的 Connect String 是描述用那一個 TNSID 去連接,而 TNS 有三個要素,再配合 userid 及 password 後,才可以連接到 Oracle。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=TNSID;Persist Security Info=True TNSID= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) ===================引 用 2007 文 章=================== 謝謝carstyc大大的回應!! 大大的意思是: 我原本的: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 改成: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=SID;Persist Security Info=True 也就是我讓客戶輸入IP 的那一個 edit,輸入客戶設定的 SID 值,就可以了,是嗎??? PS:我有放三個 EDIT ,一個輸入 Password,一個輸入 User ID,一個輸入 IP 或 SERVERNAME ===================引 用 carstyc 文 章=================== 這個訊息就是告訴你 SID 不正確。 因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True
編輯記錄
carstyc 重新編輯於 2009-06-26 16:54:32, 註解 無‧
|
2007
中階會員 發表:54 回覆:90 積分:98 註冊:2008-08-12 發送簡訊給我 |
謝謝大大!!
大大的意思是,那個 "tnsnames.ora" 檔, 裡面的,你說的 TSSID 名字( 假設為 "ABC " 好了 )。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=ABC;Persist Security Info=True 這樣是嗎??? ABC= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) 謝謝大大!!! ===================引 用 carstyc 文 章=================== 不是哦.. 應該是我剛剛沒有講完整, 電腦端裝好了 Oracle Client 後,可以用它的 network assistant 去設定 TNSID 而 TNS 就是由 IP / SID / connect port 三個要素組成的 而你的 AP 裡面的 Connect String 是描述用那一個 TNSID 去連接,而 TNS 有三個要素,再配合 userid 及 password 後,才可以連接到 Oracle。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=TNSID;Persist Security Info=True TNSID= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) ===================引 用 2007 文 章=================== 謝謝carstyc大大的回應!! 大大的意思是: 我原本的: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 改成: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=SID;Persist Security Info=True 也就是我讓客戶輸入IP 的那一個 edit,輸入客戶設定的 SID 值,就可以了,是嗎??? PS:我有放三個 EDIT ,一個輸入 Password,一個輸入 User ID,一個輸入 IP 或 SERVERNAME ===================引 用 carstyc 文 章=================== 這個訊息就是告訴你 SID 不正確。 因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True |
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
沒注意到你的第二個問題
那只是 Driver 的問題,也就是你在裝 Oracle Client 的 Driver 版本。 OraOLEDB.Oracle.1 是我電腦上的版本。 你的可以用就用 MSDAORA.1 就好了,這好像是微軟家的東西 ===================引 用 2007 文 章=================== 謝謝carstyc大大的回應!! 大大的意思是: 我原本的: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 改成: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=SID;Persist Security Info=True 也就是我讓客戶輸入IP 的那一個 edit,輸入客戶設定的 SID 值,就可以了,是嗎??? PS:我有放三個 EDIT ,一個輸入 Password,一個輸入 User ID,一個輸入 IP 或 SERVERNAME 還有: 為什麼 Provider=OraOLEDB.Oracle.1; <--我用這個 測試連線會失敗??? Provider=MSDAORA.1; <--我用這個連 "Oracle Database Express" 是ok 的。 謝謝大大!!! ===================引 用 carstyc 文 章=================== 這個訊息就是告訴你 SID 不正確。 因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True |
2007
中階會員 發表:54 回覆:90 積分:98 註冊:2008-08-12 發送簡訊給我 |
謝謝大大!!
大大的意思是,那個 "tnsnames.ora" 檔, 裡面的,你說的 TSSID 名字( 假設為 "ABC " 好了 )。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=ABC;Persist Security Info=True 這樣是嗎??? ABC= (DEforbiddenION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) 謝謝大大!!! |
carstyc
資深會員 發表:16 回覆:254 積分:329 註冊:2003-07-18 發送簡訊給我 |
這樣應該就沒錯了,要注意一下的是 tnsnames.ora 中的 IP 跟 SID 是不是你User提供的正確資訊。
===================引 用 2007 文 章=================== 謝謝大大!! 大大的意思是,那個 "tnsnames.ora" 檔, 裡面的,你說的 TSSID 名字( 假設為 "ABC " 好了 )。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=ABC;Persist Security Info=True 這樣是嗎??? ABC= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) 謝謝大大!!! ===================引 用 carstyc 文 章=================== 不是哦.. 應該是我剛剛沒有講完整, 電腦端裝好了 Oracle Client 後,可以用它的 network assistant 去設定 TNSID 而 TNS 就是由 IP / SID / connect port 三個要素組成的 而你的 AP 裡面的 Connect String 是描述用那一個 TNSID 去連接,而 TNS 有三個要素,再配合 userid 及 password 後,才可以連接到 Oracle。 ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=TNSID;Persist Security Info=True TNSID= (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=10.1.1.1) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=SID) ) ) ===================引 用 2007 文 章=================== 謝謝carstyc大大的回應!! 大大的意思是: 我原本的: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True 改成: ConnectionString Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=SID;Persist Security Info=True 也就是我讓客戶輸入IP 的那一個 edit,輸入客戶設定的 SID 值,就可以了,是嗎??? PS:我有放三個 EDIT ,一個輸入 Password,一個輸入 User ID,一個輸入 IP 或 SERVERNAME ===================引 用 carstyc 文 章=================== 這個訊息就是告訴你 SID 不正確。 因為我沒用過 Oracle Database Express ,好像曾經聽說它是沒有 SID,亦或說是只有一個SID,不能更改。 所以你在開發的時候才不需要特別指定 SID。 一般連接 Oracle DB 的 Application 需要有三個資訊,才能順利連到 ORACLE, SID 、 User ID、 Password。 除了你的 AP 裡面要有這三個資訊,在你執行的電腦上,也要安裝 Oracle Client,並把 network assistant 設定好 SID 指到那一台 Oracle 去(但你的user能跟你講這個資訊,我猜他的電腦環境應該有設定好)。 你只需要跟User要到那個 SID 名稱,並把它補到你的程式中的Connectstring,應該就能使用了。 Provider=OraOLEDB.Oracle.1;Persist Security Info=True;User ID=myuserid;Password=mypassword;Data Source=SIDNAME 我的TADOConnection ConnectionString 提供三個參數 給客戶輸入 Password、User ID、Data Source Provider=MSDAORA.1;Password=1234;User ID=system;Data Source=192.168.1.101;Persist Security Info=True |
2007
中階會員 發表:54 回覆:90 積分:98 註冊:2008-08-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |