訪問Oracle時客戶端(或者web服務器)得安裝一個Oracle的客戶端,這個有點不爽,SQL Server不用呀,MySQL頂多來個MySql.Data.dll 就搞定。尋覓了很久找到一個相對苗條的客戶端,才12M多、小巧實用呀。安裝後如下:
一個類似查詢分析器的連接與查詢工具,一個配置文件(很重要)。
啟動連接工具
輸入帳號信息,對應的是連接字符串的user id,password,datasource
連接成功後就可以查詢了,這玩意看起來想windows程序,貌似像是一個dos命令行工具,輸入完sql得選擇"文件/運行" 執行SQL
配置文件(使用前應該先配置此文件),因為是精簡版,沒有圖形化工具配置,所有就Notepad了
#DATABASENAME =
# (DESCRIPTION =
# (ADDRESS_LIST =
# (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# )
# (CONNECT_DATA =
# (SERVICE_NAME = servicename)
# )
# )
更改這個注釋過的例子配置
myOracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 33.33.33.33)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mysid)
)
)
其中,myOracle是隨便起的名子,連接字符串的data source=這裡的myOracle;HOST,PORT不用說了;SERVICE_NAME = mysid 填服務端數據庫實例的SID,這裡應該是確定了那個數據庫了。
配置完成後就可以在程序中訪問Oracle,以下舉例獲取一個表的數據顯示在頁面
using System.Data.OracleClient;
OracleConnection con = new OracleConnection("Data Source=myOracle;user id=xxx;password=xxx;");
OracleCommand cmd = new OracleCommand("select * from table", con);
con.Open();
OracleDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
--顯示所有表信息,類似mysql的show tables
select * from all_tables
--顯示前幾條,類似sqlserver的select top
select * from tb WHERE ROWNUM <=5
--from表名應該為OWNER.TABLE_NAME
select * from ms.mytable
--參數符號不同,oracle中為: sqlserver中為@ mysql中為?
select * from tab where id=:myid