[原创]oracle9i连接asp.net方法及注意点

<script type="text/javascript"> function StorePage() { d=document; t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():''); void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); } </script> 

#region 声明
//----------------------------------------------------------------------
//
// 修改: 李淼(Nick.Lee)
//
// oracle9i连接asp.net方法及注意点

// 时间:2005-3-18

// boyorgril@msn.com
// QQ:16503096
//注意:引用请标明修改出处,谢谢
//----------------------------------------------------------------------
#endregion

推荐方式

public void oledboracle_dataset()
  {
   string ConnectionString="Data Source=mine;user=sys;password=sys;";  //写连接串
   OracleConnection conn=new OracleConnection(ConnectionString);                //创建一个新连接
   OracleCommand cmd= new OracleCommand("select * from fjdl.t_rights",conn);
   DataSet ds = new DataSet();
   OracleDataAdapter oda=new OracleDataAdapter();
   oda.SelectCommand=cmd;
   oda.Fill(ds);
   conn.Close();
   DataGrid1.DataSource=ds.Tables[0].DefaultView;
   DataGrid1.DataBind();
  }

以下为用dataset和datareader,oledb和oralceclient的四种方法

public void oledboracle_datareader()
  {
   System.Data.OleDb.OleDbConnection oledb1=new System.Data.OleDb.OleDbConnection();
   string sqlText="select * from scott.tAdmin";
   System.Data.OleDb.OleDbDataReader  reader;

   oledb1.ConnectionString="Provider=/"OraOLEDB.Oracle.1/";User ID=system;password=system;Data Source=rick;";
   System.Data.OleDb.OleDbCommand Com=new System.Data.OleDb.OleDbCommand(sqlText,oledb1);

   Com.Connection.Open();
   reader=Com.ExecuteReader();

   DataGrid1.DataSource=reader;
   DataGrid1.DataBind();

   //this.Response.Write(oleDbConnection1.ConnectionString);
   reader.Close();
   Com.Connection.Close();
  }
  public void oledboracle_dataset()
  {
   System.Data.OleDb.OleDbConnection oledb1=new System.Data.OleDb.OleDbConnection("Provider=/"OraOLEDB.Oracle.1/";User ID=system;password=system;Data Source=rick;");
   string sqlText="select * from scott.tAdmin";
   System.Data.DataSet set1=new DataSet();
   System.Data.OleDb.OleDbDataAdapter Ada1=new System.Data.OleDb.OleDbDataAdapter (sqlText,oledb1);
   Ada1.Fill(set1,"data1");

   this.DataGrid2.DataSource=set1.Tables["data1"].DefaultView;
   this.DataGrid2.DataBind();
  }
  public void oracle_dataset()
  {
   System.Data.OracleClient.OracleConnection  oracle1=new System.Data.OracleClient.OracleConnection("user id=system;data source=rick;password=system");
   string sqlText="select * from scott.tAdmin";
   System.Data.DataSet set1=new DataSet();
   System.Data.OracleClient.OracleDataAdapter  Ada1=new System.Data.OracleClient.OracleDataAdapter(sqlText,oracle1);
   Ada1.Fill(set1,"oracle_data1");

   this.DataGrid3.DataSource=set1.Tables["oracle_data1"].DefaultView;
   this.DataGrid3.DataBind();
  }
  public void oracle_datareader()
  {
   System.Data.OracleClient.OracleConnection oracle2=new System.Data.OracleClient.OracleConnection();
   string sqlText="select * from scott.tAdmin";
   System.Data.OracleClient.OracleDataReader reader;

   oracle2.ConnectionString="User ID=system;user id=system;data source=rick;password=system";
   System.Data.OracleClient.OracleCommand Com=new System.Data.OracleClient.OracleCommand(sqlText,oracle2);

   Com.Connection.Open();
   reader=Com.ExecuteReader();

   DataGrid4.DataSource=reader;
   DataGrid4.DataBind();

   //this.Response.Write(oleDbConnection1.ConnectionString);
   reader.Close();
   Com.Connection.Close();
  }

注意点:

如果不设置远程数据的本级网络配置

ORA-00162: external dbid length 18 is greater than maximum (16)

连接名称不能超过16个字符

修改方法

Configuration and Migration Tools->Net Configuration Assistant中配置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值