c查詢oracle資料庫
⑴ c語言操作Oracle資料庫,sql語句是從資料庫查出來組合成的,以前的sql語句是2600多個字元
你可以把語句用函數或存儲過程寫到資料庫上,然後從程序裡面調用函數或存儲過程。輸入程序上的提供的參數,返回程序需要的參數就行了。
這是oracle的長處,中間你可以用游標,然後用動態語句:execute immdiate 『你的語句』。這應該是一個很簡單的過程或函數。可以做出比你現在功能更強的程序。
希望你早點解決。
⑵ 如何查詢oracle資料庫的操作記錄
首先,向你介紹一個動態視圖:v$sql
該視圖展示最近一段時間所有執行過的sql語句:
select * from v$sql
即可。
如果報錯找不到v$sql,一般是許可權問題,換sysdba就肯定能查到。
但要注意的是「隱式sql」,很多sql語句是調用執行的,(比如,存儲過程中對dbms包的調用,再如執行create 語句所觸發的對系統表空間、數據字典的修改等等。),這些語句同樣會展現在v$sql中。
還有其它與sql歷史記錄相關的v$視圖,詳情可以參考Oracle官方文檔《Oracle® Reference》,直接給你個10.2的文檔鏈接,夠方便了吧:
http://www.oracle.com/pls/db102/homepage?remark=tahiti
⑶ Oracle資料庫中怎麼查詢
withtmp(c_id,c_name,c_up)as
(
select1,'四川省',0fromalunionall
select2,'河北省',0fromalunionall
select3,'河南省',0fromalunionall
select4,'成都市',1fromalunionall
select5,'綿陽市',1fromalunionall
select6,'南充市',1fromalunionall
select7,'雙流縣',4fromalunionall
select8,'高新區',4fromal)
select*fromtmp
wherec_up=0
startwithc_name='成都市'
connectbypriorc_up=c_id
⑷ 如何查詢Oracle資料庫的操作日誌
方法1:使用LogMiner工具
優點:可以完全挖掘日誌內容,找出所有執行過的SQL語句
缺點:
1. 如果沒有啟用歸檔日誌,則只能對聯機日誌進行挖掘
2. 需要掌握LogMiner的用法
訪法2:查看HIST視圖
優點:簡單,只要使用普通的select語句查詢
缺點:Oracle保留約1周的歷史,所以要查太早的就不可能了
-- 找出哪個資料庫用戶用什麼程序在最近三天執行過delete或truncate table的操作
舉例如下:
SELECT c.username,
a.program,
b.sql_text,
b.command_type,
a.sample_time
FROM dba_hist_active_sess_history a
JOIN dba_hist_sqltext b
ON a.sql_id = b.sql_id
JOIN dba_users c
ON a.user_id = c.user_id
WHERE a.sample_time BETWEEN SYSDATE - 3 AND SYSDATE
AND b.command_type IN (7, 85)
ORDER BY a.sample_time DESC;
⑸ 如何查詢oracle下的所有資料庫
查看那些庫的話必須用dba許可權登錄。登陸後可以通過下面的方法來查看。
一、查看有哪些庫,你的庫理解不準確,應該准確來說是表空間,可以通過下面的命令來實現
SELECT
Total.name
"Tablespace
Name",
Free_space,
(total_space-Free_space)
Used_space,
total_space
FROM
(select
tablespace_name,
sum(bytes/1024/1024)
Free_Space
from
sys.dba_free_space
group
by
tablespace_name
)
Free,
(select
b.name,
sum(bytes/1024/1024)
TOTAL_SPACE
from
sys.v_$datafile
a,
sys.v_$tablespace
B
where
a.ts#
=
b.ts#
group
by
b.name
)
Total
WHERE
Free.Tablespace_name
=
Total.name
二、查看有哪些表。
select
table_name
from
dba_tables
where
owner='A';
⑹ c語言訪問oracle資料庫有幾種方式,哪種最好
SQL SERVER連接oracle資料庫幾種方法--1 方式 --查詢oracle資料庫中的表 SELECT * FROM OPENDATASOURCE( 'MSDAORA', 'Data Source=GE160;User ID=DAIMIN;Password=DAIMIN' )..
⑺ 查詢oracle資料庫連接配置文件是否正確
摘要 Oracle客戶端tnsnames.ora連接配置
⑻ VS2008上用C、C++連接ORACLE資料庫,並進行查詢操作
用proc 編譯*.pc 後形成c文件,而後將C文件加到工程
⑼ 如何查看oracle表空間數據文件位置
select file_name , tablespace_name from dba_data_files;
db.comit在線教育
⑽ c連接oracle資料庫的連接語句
我只會在unix下面寫,嘿嘿win的我還不會呢。。
把代碼貼上。至於怎麼
編譯,再查查吧~
int
main()
{
EXEC
SQL
BEGIN
DECLARE
SECTION;
char
oc_passwd[101];
/*資料庫密碼*/
char
oc_userid[101];
/*資料庫用戶名*/
char
oc_dbname[101];
/*資料庫名*/
char
oc_coad[101];
EXEC
SQL
END
DECLARE
SECTION;
memset(oc_passwd,
0x00,
sizeof(oc_passwd));
memset(oc_userid,
0x00,
sizeof(oc_userid));
memset(oc_dbname,
0x00,
sizeof(oc_dbname));
/*取資料庫用戶名*/
strcpy(oc_userid,
"userid");
/*取資料庫用戶密碼*/
strcpy(oc_passwd,
"passwd")
;
/*取資料庫名*/
strcpy(oc_dbname,
"dbname");
EXEC
SQL
CONNECT
:oc_userid
IDENTIFIED
BY
:oc_passwd
USING
:oc_dbname;
if
(sqlca.sqlcode
!=
0)
{
printf("用戶名[%s]密碼[%s]資料庫[%s]\n",
oc_userid,
oc_passwd,
oc_dbname);
printf("連接資料庫失敗,sqlcode=%d\n",
sqlca.sqlcode);
return
-1;
}
/*讀table取coad欄位*/
memset(oc_coad,
0x00,
sizeof(oc_coad));
EXEC
SQL
SELECT
coad
INTO
:oc_coad
FROM
table
WHERE
1=1;
if
(sqlca.sqlcode
==
NORECORD)
{
printf("查詢無記錄\n");
return
-1;
}
else
if
(sqlca.sqlcode
!=
0)
{
printf("查詢失敗,sqlcode=%d\n",
sqlca.sqlcode);
return
-1;
}
return
0;
}