作者DeepSix (Free Myself?!)
看板C_Sharp
標題Re: [問題] C#.net ODBC連線問題
時間Sat Mar 17 11:12:08 2012
你要連結Oracle,不知道為什麼一定要用ODBC連?有特殊原因嗎?
之前因為用express版不能用第三方所以才必須用ODBC連MySql。
參考資料如下:
http://mi.hosp.ncku.edu.tw/km/index.php/dotnet/44-adonet/51-adonet-
※ 引述《kouun (big_cat)》之銘言:
: 出現的問題是 :
: ERROR [NA000] [Microsoft][ODBC driver for Oracle][Oracle]ORA-12504: TNS:未提供
: 監聽器 CONNECT_DATA 中的 SERVICE_NAME
: ERROR [IM006] [Microsoft][ODBC 驅動程式管理員] 驅動程式的 SQLSetConnectAttr 失
: 敗
: ERROR [01000] [Microsoft][ODBC 驅動程式管理員] 驅動程式不支援這應用程式請求的
: 此版 ODBC 行為。(請參閱 SQLSetEnvAttr)。
: string conn_str = "Driver={Microsoft ODBC for
: Oracle};Server=IP;UID=??;PWD=??;";
: OdbcConnection cn = new OdbcConnection(conn_str);
: cn.Open(); <-- 錯誤在這行
: 我用內建元件的方式連ODBC是OK的,自己寫連線會錯誤這是哪邊有問題
: 變數設置...等 我確認過好幾次因該是沒問題
: 求求大大幫我趕緊解答吧! 這問題卡一陣子了
: 網路資料和去圖書館找書翻到真的無解才上來求救的
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.205.22.148
→ kouun:我學生,從老師分配給我的工作,廠商規定用ODBC連Oracle 03/17 12:29
→ kouun:原本是用內建寫的就OK,因為要上傳圖片,要轉二進制 03/17 12:30
→ kouun:內建的元件 InsterParameters 不支援 二進制 03/17 12:31
→ kouun:如果是自己寫連線方式 .Parameter 可以用 二進制 03/17 12:32
→ rularula:你要連線的電腦有裝Oracle Client嗎? 03/17 16:25
→ rularula:我有用過ODBC連結Oracle的經驗,但不像你這樣的設定法 03/17 16:26
→ rularula:先是安裝Oracle client,再進Net Manager設定連線服務 03/17 16:33
→ rularula:將ODBC設定的驅動程式設定為Oracle client的驅動 03/17 16:35
→ rularula:再將ODBC連線的服務名稱指定成先前設定的連線服務名稱 03/17 16:36
→ rularula:連線字串會像是TNS=xxx;UID=xxx;PWD=xxx 給你參考一下囉 03/17 16:38
推 jain00:rularula的方法是可行的,google一下oracle odbc driver 03/17 23:49
→ kouun:終於解決~方法是 Server=IP/SID 我缺少/SID 03/18 03:00
→ kouun:感謝大家的回答 03/18 03:00