p
在企業級應用開發中,數據庫是至關重要的部分。如今,Oracle數據庫仍然是最受歡迎的企業級數據庫之一。而為了連接Oracle數據庫,開發人員需要選擇適當的客戶端和連接方法。本文將介紹如何使用C#連接Oracle數據庫,包括連接字符串的創建,連接Oracle數據庫的方法以及在C#中執行SQL語句來與Oracle數據庫進行交互。首先,我們將看一下連接Oracle數據庫的基本信息。
p
連接字符串是將你的代碼鏈接到數據庫的方式。連接字符串由多個部分組成,包括主機名、端口、服務名、用戶名和密碼。下面是一個典型的Oracle連接字符串的示例:
pre
"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleserver)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mydatabase)));User Id=myUsername;Password=myPassword;"
/pre
p
在連接字符串中,我們從左到右看到以下內容:
ul
li 一個TCP協議的主機名
li 端口號(默認為1521)
li 用于連接到數據庫的服務名
li 用于訪問Oracle數據庫服務器的用戶名和密碼
/ul
p
當你想要鏈接到Oracle數據庫時,你需要配置正確的連接字符串。一個錯誤配置的連接字符串可能導致連接失敗或無法連接到正確的數據庫。下面是一個連接到Oracle數據庫的例子:
pre
string constr="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleserver)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mydatabase)));User Id=myUsername;Password=myPassword;";
OracleConnection con=new OracleConnection(constr);
try
{
con.Open();
Console.WriteLine("Connection successful!");
}
catch(Exception ex)
{
Console.WriteLine("Connection failed: "+ex.Message);
}
finally
{
con.Close();
}
/pre
p
在上面的例子中,我們創建了一個連接字符串并且使用它來打開一個新的連接。如果連接失敗,我們將打印一條錯誤消息。
p
與Oracle數據庫建立連接之后,我們便可以開始對數據庫進行基本的交互操作了。在這里,我們將介紹如何在C#中執行SQL語句來與Oracle數據庫進行交互。下面是一個執行SELECT語句的例子:
pre
string constr="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleserver)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mydatabase)));User Id=myUsername;Password=myPassword;";
OracleConnection con=new OracleConnection(constr);
try
{
con.Open();
string query="SELECT * FROM mytable";
OracleCommand cmd=new OracleCommand(query,con);
OracleDataReader reader=cmd.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader["column1"].ToString()+" "+reader["column2"].ToString()+" "+reader["column2"].ToString());
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
con.Close();
}
/pre
p
在上面的例子中,我們首先創建了一個可用于執行查詢的SQL語句(SELECT語句),然后使用這條SQL語句創建一個Oracle命令對象,并且執行這個查詢。在while循環中,我們遍歷返回結果并且將它們打印到控制臺上。
p
除了SELECT語句之外,我們還可以執行INSERT、UPDATE、DELETE等語句。下面是一個例子:
pre
string constr="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracleserver)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=mydatabase)));User Id=myUsername;Password=myPassword;";
OracleConnection con=new OracleConnection(constr);
try
{
con.Open();
string query="INSERT INTO mytable (column1,column2,column3) VALUES ('value1','value2','value3')";
OracleCommand cmd=new OracleCommand(query,con);
int result=cmd.ExecuteNonQuery();
Console.WriteLine(result+" rows affected.");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
con.Close();
}
/pre
p
在上面的例子中,我們使用INSERT語句向一個表中插入一行數據,并且使用ExecuteNonQuery方法執行了這條語句。該方法返回被影響的行數。在這個例子中,我們將結果打印到控制臺上。
p
在本文中,我們介紹了如何使用C#連接Oracle數據庫。通過創建正確的連接字符串和執行SQL語句,我們可以與Oracle數據庫進行交互,并且在我們的應用程序中創建、讀取、更新和刪除數據庫中的數據。這種方法對企業級應用程序非常有用,因為Oracle數據庫仍然是最受歡迎的企業級數據庫之一。
下一篇h5即時通訊php