[导入]C# 连接 oracle 数据库
2006-05-25 23:22 BAsil 阅读(5) 评论(0) 编辑 收藏 举报using System.Data.OracleClient;
代码
string myConnString = "user id=system;data source=huajie;password=manager";
System.Data.OracleClient.OracleConnection myConnection = new System.Data.OracleClient.OracleConnection(myConnString);
OracleCommand catCMD = myConnection.CreateCommand();
catCMD.CommandText = " select * from t";
myConnection.Open();
OracleDataReader myReader = catCMD.ExecuteReader();
while(myReader.Read())
{
WriteLog(string.Format("{0}\t{1}\t",myReader.GetInt32(0).ToString(),myReader.GetString(1)));
}
tnsnames.ora
# TNSNAMES.ORA Network Configuration File: E:\oracle\ora90\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = billgates)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
HUAJIE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = billgates)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = Huajie.Jinan)
)
)
碰到的错误
2005-11-16 22:01:03:System.Data.OracleClient.OracleException: ORA-12154: TNS: 无法处理服务名
at System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean& isInTransaction)
at System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean& isInTransaction)
at System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)
at System.Data.OracleClient.OracleConnection.Open()
at OracleConnection.Form1.button1_Click(Object sender, EventArgs e) in f:\code\oracleconnection\form1.cs:line 100
---------------------------
2005-11-16 22:02:12:System.Data.OracleClient.OracleException: ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
at System.Data.OracleClient.DBObjectPool.GetObject(Object owningObject, Boolean& isInTransaction)
at System.Data.OracleClient.OracleConnectionPoolManager.GetPooledConnection(String encryptedConnectionString, OracleConnectionString options, OracleConnection owningObject, Boolean& isInTransaction)
at System.Data.OracleClient.OracleConnection.OpenInternal(OracleConnectionString parsedConnectionString, Object transact)
at System.Data.OracleClient.OracleConnection.Open()
at OracleConnection.Form1.button1_Click(Object sender, EventArgs e) in f:\code\oracleconnection\form1.cs:line 100
本篇文章使用aigaogao Blog软件发布, “我的Blog要备份”
文章来源:http://blog.donews.com/basilwang/archive/2005/11/16/629420.aspx