代码改变世界

[导入]C# 连接 oracle 数据库

  BAsil  阅读(8)  评论(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
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示