1、添加 Oracle.ManagedDataAccess.dll
2、连接Oracle的实例得添加到Oracle的监听器中,不然会报“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”的错,添加如下,本例使用的是Oracle10g,找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下的lisener.org,打开后修改添加标红的部分
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = ORCL) (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) (SID_NAME = ORCL) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.121.130)(PORT = 1521)) ) )
3、连接字符串:
string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.121.130)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=scott;Password=tiger;";
其中Oracle数据库服务器IP:192.168.121.130
ServiceName:ORCL
用户名:scott
密码:tiger
4、查看Oracle的实例名,用sys作为dba登录,执行语句 select name from v$database;
5,C#代码
using System; using System.Collections.Generic; using System.Configuration; using Oracle.ManagedDataAccess.Client; using System.Linq; using System.Text; namespace ADOSample { class Program { static void Main(string[] args) { string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.121.130)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=scott;Password=tiger;"; using (OracleConnection conn = new OracleConnection(connStr)) { string sql = "select * from dept "; conn.Open(); using (OracleCommand cmd = new OracleCommand(sql, conn)) { using (OracleDataReader dataReader = cmd.ExecuteReader()) { while (dataReader.Read()) { string obj = (string)dataReader[1]; Console.WriteLine(obj); } } } } Console.ReadKey(); } } }
时间: 2024-08-06 11:57:56