ado連接oracle資料庫
Ⅰ 用ADO連接ORACLE資料庫,表已經存在,為什麼會有這個錯誤呢
都告訴你了,表或者視圖不存在,你確定連接資料庫的用戶對這個表/視圖有查詢的許可權嗎?
實在不行,先用plsqldeveloper或toad測試一下你的
sql語句
先。
Ⅱ 怎麼樣用ADO連接廣域網上的Oracle資料庫
1、把開excel,點擊工具-->宏-->錄制新宏 2、點擊 數據-->導入外部數據-->新建資料庫查詢,然後根據向導選擇oracle驅動,最後完成向導 3、點停止宏,再點 工具-->宏-->宏... 在對話框里選擇剛才錄制的宏,點編輯, 這樣就可以看到連接字元串了。
Ⅲ 如何里用ADO技術訪問Oracle資料庫 VBA語言操作
Dim oConn,strConn
Set oConn=Server.CreateObject(「ADODB.Connection」)
StrConn= "Provider=OraOLEDB.Oracle;" & _
"Data Source=MyOracleDB;" & _
"User=myUsername& _
"Password=myPassword;"
oConn.Open strConn
其中Data Source就是你配置的連接oracle的實例名
Ⅳ 如何通過ADO.NET訪問Oracle資料庫
1.
添加System.Data.OracleClient引用
2.
連接字元串
Data
Source=orcl;Initial
Catalog=OracleDB;User
ID=scott;password=tiger
3.下面的操作和SQL沒什麼太大的區別,就是把所有的"SQL"換成"Oracle"
就OK了
Ⅳ 怎樣在VC下用ADO連接ORACLE資料庫
首先,要用#import語句來引用支持ADO的組件類型庫(*.tlb),其中類型庫可以作為可執行程序(DLL、EXE等)的一部分被定位在其自身程序中的附屬資源里,如:被定位在msado15.dll的附屬資源中,只需要直接用#import引用它既可。可以直接在Stdafx.h文件中加入下面語句來實現:
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
其中路徑名可以根據自己系統安裝的ADO支持文件的路徑來自行設定。當編譯器遇到#import語句時,它會為引用組件類型庫中的介面生成包裝類,#import語句實際上相當於執行了API涵數LoadTypeLib()。#import語句會在工程可執行程序輸出目錄中產生兩個文件,分別為*.tlh(類型庫頭文件)及*.tli(類型庫實現文件),它們分別為每一個介面產生智能指針,並為各種介面方法、枚舉類型,CLSID等進行聲明,創建一系列包裝方法。語句no_namespace說明ADO對象不使用命名空間,rename ("EOF", "adoEOF")說明將ADO中結束標志EOF改為adoEOF,以避免和其它庫中命名相沖突。
其次,在程序初始過程中需要初始化組件,一般可以用CoInitialize(NULL);來實現,這種方法在結束時要關閉初始化的COM,可以用下面語句CoUnInitialize();來實現。在MFC中還可以採用另一種方法來實現初始化COM,這種方法只需要一條語句便可以自動為我們實現初始化COM和結束時關閉COM的操作,語句如下所示: AfxOleInit();
接著,就可以直接使用ADO的操作了。我們經常使用的只是前面用#import語句引用類型庫時,生成的包裝類.tlh中聲明的智能指針中的三個,它們分別是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分別對它們的使用方法進行介紹:
1、_ConnectionPtr智能指針,通常用於打開、關閉一個庫連接或用它的Execute方法來執行一個不返回結果的命令語句(用法和_CommandPtr中的Execute方法類似)。
——打開一個庫連接。先創建一個實例指針,再用Open打開一個庫連接,它將返回一個IUnknown的自動化介面指針。代碼如下所示:
_ConnectionPtr m_pConnection;
// 初始化COM,創建ADO連接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
// 在ADO操作中建議語句中要常用try...catch()來捕獲錯誤信息,
// 因為它有時會經常出現一些意想不到的錯誤。jingzhou xu
try
{
// 打開本地Access庫Demo.mdb
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("資料庫連接失敗,確認資料庫Demo.mdb是否在當前路徑下!");
return FALSE;
}
——關閉一個庫連接。如果連接狀態有效,則用Close方法關閉它並賦於它空值。代碼如下所示:
if(m_pConnection->State)
m_pConnection->Close();
m_pConnection= NULL;
Ⅵ ado連接oracle資料庫報異常
這個是監聽沒有配置或者沒有啟動報錯
1.IP錯誤。 在設置URL時錯誤,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp 資料庫伺服器不正確:ping 伺服器ip是否正確。不正確,將URL更改為正確 埠號錯誤:一般不會錯誤。 進行一下操作:在DOS上鍵入sqlplus,檢查oracle是否開啟 一卻正常,執行下面第2步。
2.防火牆 如果機器上安裝有放火牆,可能是伺服器埠號屏蔽而造成的。關閉防火牆後,嘗試重新連接。 仍然不行,執行第3步。
3.資料庫監聽未啟動 修改PC上注冊表中的ImagePath值。 我下面以現在主流的資料庫ORACLE為例 重新手動啟動資料庫監聽: 1:開始 → 運行→ 輸入CMD→ 進入DOS命令提示界面 d:>lsnrctl LSNRCTL> status 或者 LSNRCTL> start
Ⅶ ADO連接Oracle資料庫失敗,求教
登陸oracle資料庫
1、是否開放了遠程連接;
2、連接格式是否正常;
這是我以前用ado封裝的類,可以操作access,mysql,mssql,oracle,經過測試都可以操作;
如果還不行的話那就傳下工程上來吧
Ⅷ delphi7.0的adoconnection怎麼連接oracle數據
不知道你連接的是SQL Server 還是Access?在連接不同的資料庫時會有一點差別.
連接到SQL Server:
以下是設置:(以前回答別人的時候寫的,這里修改了下)
1,新建Project。
2,在FORM中放入ADOConnection控制項。
3,雙擊ADOConnection控制項,然後點擊Build...按鈕,在「提供者」頁中選擇
「Microsoft OLE DB Provider For SQL Server 」,然後點擊「下一步」按鈕,
在「連接」頁中選擇要連接的SQL資料庫的路徑和資料庫的文件名.如果資料庫沒
有密碼,那就可以了,如果有密碼,在下面的兩個編輯框中輸入用戶名和密碼.
添入
用戶名和密碼後,點擊「測試連接」按鈕,出現「測試連接成功」的對話框。
5.把 ADOConnection控制項的LoginPromtp設為false.
Ⅸ 用ADO訪問ORACLE資料庫的連接字元串怎樣寫
在利用ado連接資料庫之前,需要做一些准備
1.用#import指令引入ADO類型庫
我們在stdafx.h中加入如下語句:
#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 。
這一語句有何作用呢?其最終作用同我們熟悉的#i nclude類似,編譯的時候系統會為我們生成msado15.tlh,ado15.tli兩個C++頭文件來定義ADO庫。
幾點說明:
(1) 您的環境中msado15.dll不一定在這個目錄下,請按實際情況修改
(2) 在編譯的時候肯能會出現如下警告,對此微軟在MSDN中作了說明,並建議我們不要理會這個警告。msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
2、初始化OLE/COM庫環境
必須注意的是,ADO庫是一組COM動態庫,這意味應用程序在調用ADO前,必須初始化OLE/COM庫環境。在MFC應用程序里,一個比較好的方法是在應用程序主類的InitInstance成員函數里初始化OLE/COM庫環境。
BOOL CMyAdoTestApp::InitInstance()
{
if(!AfxOleInit())//這就是初始化COM庫
{
AfxMessageBox(「OLE初始化出錯!」);
return FALSE;
}
}
3.ADO庫包含三個基本介面:_ConnectionPtr介面、_CommandPtr介面和_RecordsetPtr介面。與資料庫的連接就是用_ConnectionPtr介面,它的連接字元串可以是自己直接寫,也可以指向一個ODBC DSN。以下的例子都測試通過,順便寫了SQL Server的例子。
BOOL CTestconDlg::ConnectDatabase()
{
CString m_server,m_data,m_uid,m_pwd;
m_server="192.168.0.24";//伺服器ip或名稱
m_data="crmdb";//ODBC數據源
m_uid="njcrm";//用戶名
m_pwd="crmdbo";//密碼
BOOL retFt=false;
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///創建Connection對象
if(SUCCEEDED(hr))
{
_bstr_t connStr;
m_pConnection->CursorLocation=adUseClient;
//begin---------------Oracle ODBC 配置數據源-------------------------------------
//控制面板->管理工具->數據源(ODBC)->系統DNS->添加->Microsoft ODBC for Oracle->完成->配置……
// connStr="DSN="+m_data;
// m_pConnection->Open(_bstr_t(connStr),(_bstr_t)m_uid,(_bstr_t)m_pwd,adConnectUnspecified);
//end---------------Oracle ODBC 配置數據源---------------------------------------
//begin---------------Oracle 標准安全級別---------------------------------------
// connStr="Provider=OraOLEDB.Oracle;User ID=njcrm;Password=crmdbo;Data Source=192.168.0.24;";
// m_pConnection->Open(_bstr_t(connStr),(_bstr_t)_T(""),(_bstr_t)_T(""),adConnectUnspecified);
//end---------------Oracle 標准安全級別---------------------------------------
//begin---------------Oracle 微軟格式----------------------------------