日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

ado控件连接oracle,在Delphi 7中用ADOConnection控件连接Oracle 9i的问题

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ado控件连接oracle,在Delphi 7中用ADOConnection控件连接Oracle 9i的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我在本地機器上安裝了oracle客戶端,其中tnsnames.ora文件中的內容如下:

dbtest_212.113.74.23 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 212.113.74.23)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = dbtest)

)

)

然后在Delphi 7中新建應用程序,在窗體上放置ADOConnection控件,雙擊該控件設置數據鏈接屬性如下:

提供程序:Oracle Provider for OLE DB

數據源:dbtest_212.113.74.23

用戶名稱:xxx

密碼:xxx

單擊“測試連接”按鈕,報“ORA-12154:TNS:無法處理服務名”。如果將數據源改為“dbtest”,測試連接成功。請問這是為什么,我覺得這個地方應該填的是本地網絡服務名“dbtest_212.113.74.23”,而不應該是服務名(在oracle 9i中也稱為全局數據庫名,替代了原來的數據庫實例名的概念)“dbtest”,因為我是本地Delphi程序遠程連接oracle服務器,應該是本地Delphi程序連接oracle客戶端,oracle客戶端再去連接oracle服務器才行啊。

還有一個更奇怪的問題,為了解決上述問題,我利用控制面板自帶的“數據源(ODBC)”建立了一個系統數據源“testDSN”,其中“TNS Service Name”設置為“dbtest_212.113.74.23”,用戶名和密碼合法,然后測試數據源,連接成功;如果將“TNS Service Name”設置為“dbtest”,用戶名和密碼不變,測試數據源,連接失敗,這符合我的預期,即我上述說的原因。然后我在Delphi中將ADOConnection控件的數據鏈接屬性修改如下:

提供程序:Microsoft OLE DB Provider for ODBC Drivers

使用數據源名稱:testDSN

用戶名:xxx

密碼:xxx

單擊“測試連接”按鈕,報相同錯誤“ORA-12154:TNS:無法處理服務名”。但如果用上述在“數據源(ODBC)”中測試連接失敗的testDSN設置,在Delphi中卻可以使ADOConnection控件測試連接成功。

我真是被搞糊涂了,究竟這是什么原因導致的。說明一點,“dbtest_212.113.74.23”作為本地網絡服務器名在PL/SQL Developer和SQL PLUS中使用時,都可以正常連接oracle服務器。

作者: yac1979

發布時間: 2011-02-08

總結

以上是生活随笔為你收集整理的ado控件连接oracle,在Delphi 7中用ADOConnection控件连接Oracle 9i的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。