http://www.csdn.net/Develop/read_article.asp?id=16437

解决方案 »

  1.   

    跟连接其他数据库一样,只是连接字符串修改一下就可.另外,为了提高效率,用专门针对 oracle 的那个连接类
      

  2.   

    不知道你需要什么随便给你贴一个把不过连接ORACLE数据库需要微软的一个补丁不知道你有没有~要不用ole db连接很痛苦的。而且老出错
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Configuration ;namespace ad
    {
    /// <summary>
    /// adresourse 的摘要说明。
    /// </summary>
    public class adresourse : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected System.Web.UI.WebControls.Button Button1;
    private string cons="";
    private System.Data.OracleClient.OracleConnection myconnection = new System.Data.OracleClient.OracleConnection(); private void Page_Load(object sender, System.EventArgs e)
    {
    if (!this.IsPostBack )
    {
    Session["page"]=0;
    }

    string  ShcameName = ConfigurationSettings.AppSettings["source"];
    string  ServiceName = ConfigurationSettings.AppSettings["id"];
    string service=ConfigurationSettings.AppSettings["catalog"];
    cons="User ID="+ShcameName.ToString()+";password="+service+";Data Source="+ServiceName.ToString()+";Persist Security Info=False";
    myconnection.ConnectionString = cons;
    int k;
    k = int.Parse(Session["page"].ToString());
    k++;
    Session["page"]=k;
    if (k!=3)
      {
      string myselectquery  = "SELECT * FROM adresourse";
      DataSet mydataset=new DataSet();
      

      System.Data.OracleClient.OracleCommand  myselectcommand = new  System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
      myconnection.Open();
      System.Data.OracleClient.OracleDataAdapter myadapter=new System.Data.OracleClient.OracleDataAdapter();
       
      myadapter.SelectCommand = new System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
      myadapter.Fill(mydataset);
      DataGrid1.DataSource=mydataset.Tables[0];
      DataGrid1.DataBind();
      myconnection.Close();
      }
     } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.DataGrid1.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_CancelCommand);
    this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
    this.DataGrid1.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_UpdateCommand);
    this.DataGrid1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_DeleteCommand);
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    void BindGrid()
    {
    string myselectquery  = "SELECT * FROM adresourse";
    DataSet mydataset=new DataSet();
    myconnection.ConnectionString = cons;
    System.Data.OracleClient.OracleCommand  myselectcommand = new  System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
    myconnection.Open();
    System.Data.OracleClient.OracleDataAdapter myadapter=new System.Data.OracleClient.OracleDataAdapter();
    myadapter.SelectCommand = new System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
    myadapter.Fill(mydataset);
    DataGrid1.DataSource=mydataset.Tables[0];
    DataGrid1.DataBind();
    myconnection.Close();
    }
    private void Button1_Click(object sender, System.EventArgs e)
    {
    string str="insert into adresourse(locationid,locationdesc,width,height,url) VALUES ('','',0,0,'')";
    myconnection.Open();
    System.Data.OracleClient.OracleCommand  comm =new System.Data.OracleClient.OracleCommand(str,myconnection);
    try
    {
    comm.ExecuteNonQuery();
    //Message.InnerHtml = "<b>已插入记录</b><br/>" + updateCmd;
    DataGrid1.EditItemIndex = -1;}
    catch{}
    Session["page"]=1;
    myconnection.Close();
    BindGrid();
    } private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=e.Item.ItemIndex;
    DataGrid1.DataBind();
    } private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    DataGrid1.EditItemIndex=-1;
    DataBind();
    Session["page"]=1;
    string myselectquery  = "SELECT * FROM adresourse";
    DataSet mydataset=new DataSet();
    System.Data.OracleClient.OracleCommand  myselectcommand = new  System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
    myconnection.Open();
    System.Data.OracleClient.OracleDataAdapter myadapter=new System.Data.OracleClient.OracleDataAdapter();
    myadapter.SelectCommand = new System.Data.OracleClient.OracleCommand(myselectquery, myconnection);
    myadapter.Fill(mydataset);
    DataGrid1.DataSource=mydataset.Tables[0];
    DataGrid1.DataBind();
    myconnection.Close();
    } private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    String updateCmd = "UPDATE adresourse SET locationid='";
    updateCmd+=((TextBox)e.Item.Cells[2].Controls[0]).Text+"', locationdesc ='"+((TextBox)e.Item.Cells[3].Controls[0]).Text +"', width='"+((TextBox)e.Item.Cells[5].Controls[0]).Text +"'," 
    + "height = '"+((TextBox)e.Item.Cells[4].Controls[0]).Text +"', url ='"+((TextBox)e.Item.Cells[6].Controls[0]).Text +"' where id='"+e.Item.Cells[1].Text +"'" ;
    myconnection.Open();
    System.Data.OracleClient.OracleCommand  comm =new System.Data.OracleClient.OracleCommand(updateCmd,myconnection); try
    {
                    comm.ExecuteNonQuery();
    //Message.InnerHtml = "<b>已更新记录</b><br/>" + updateCmd;
    DataGrid1.EditItemIndex = -1;
        
    }
    catch
    {} myconnection.Close();
    Session["page"]=1;
    BindGrid(); } private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    String updateCmd = "delete from adresourse where id='"+ e.Item.Cells[1].Text+"'";
    myconnection.Open();
    System.Data.OracleClient.OracleCommand  comm =new System.Data.OracleClient.OracleCommand(updateCmd,myconnection); try
    {
    comm.ExecuteNonQuery();
    //Message.InnerHtml = "<b>已更新记录</b><br/>" + updateCmd;
    DataGrid1.EditItemIndex = -1;
        
    }
    catch
    {} myconnection.Close();
    Session["page"]=1;
    BindGrid();
    }

    }
    }
      

  3.   

    http://www.pardesiservices.com/Softomatix/OracleInASPNet.asp
    http://technet.oracle.com/sample_code/tech/windows/odpnet/howto/connect/content.html
      

  4.   

    方法我早试过,可连不上远端的Oracle.
      

  5.   

    .net连接oracle数据库,一定要通过安装oracle客户端工具来建立连接实例吗?〉?
      

  6.   

    我在连接的时候没有出现过什么问题呀...你怎么练不上???????用的是vs.net什么版本....oracle什么版本....cs还是bs.......我在bs编写web 服务的时候出现过oci.dll找不到的错误...可是cs没有问题.....
      

  7.   

    不会你是早期版本的vs.net 吧,早期版本的在连接非 Sql Server 数据库,确实有很多问题。