我用OLEDB连接数据库可以成功: OleDbConnection oleconn = new OleDbConnection(); string connstring = "Provider=msdaora;Data Source=SDB;User Id=GSQL;Password=gsql;"; oleconn.ConnectionString = connstring; oleconn.Open(); oleconn.Dispose();用odp连接就报那个错误:
OracleConnection oOracleConn = new OracleConnection();
//string constr = "User Id=GSQL;Password=gsql;Data Source=SDB";
string constr = "Data Source=SDB;Persist Security Info=True;User ID=GSQL;Password=gsql;";
oOracleConn.ConnectionString = constr;
oOracleConn.Open();估计还是odp这边配置的有些问题!!!
OracleConnection oOracleConn = new OracleConnection();
//string constr = "User Id=GSQL;Password=gsql;Data Source=SDB";
string constr = "Data Source=SDB;Persist Security Info=True;User ID=GSQL;Password=gsql;";
oOracleConn.ConnectionString = constr;
oOracleConn.Open();估计还是odp这边配置的有些问题!!!
把报错信息贴出来啊,特别是 ora错误信息,贴出来啊!
using Oracle.DataAccess.Client;
public partial class pan_OracleData : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = binddata();
Response.Write("合计:"+heji(dt));
Response.Write("<br />");
Response.Write("行数:"+dt.Rows.Count);
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
} public static decimal heji(DataTable dt)
{
decimal i = 0;
foreach (DataRow row in dt.Rows)
{
if (row["AMOUNT"] == DBNull.Value)
continue;
i += Convert.ToDecimal(row["AMOUNT"]);
}
return i;
} public DataTable binddata()
{
string strCnn = "Data Source=SDB;User ID=GSQL;Password=gsql";
OracleConnection cnn = new OracleConnection(strCnn);
OracleCommand cmm = new OracleCommand();
cmm.Connection = cnn;
cmm.CommandType = CommandType.StoredProcedure;
cmm.CommandText = "PKG_AM_Report.P_ProfitsAnalysis"; OracleParameter param1 = new OracleParameter("v_StatisticsDate", OracleDbType.NVarchar2, ParameterDirection.Input);
param1.Value = "2009-07-07"; OracleParameter param2 = new OracleParameter("v_BranchFlag",OracleDbType.NVarchar2, ParameterDirection.Input);
param2.Value = "fdj"; OracleParameter param3 = new OracleParameter("cur_name", OracleDbType.RefCursor, ParameterDirection.Output); cmm.Parameters.Add(param1);
cmm.Parameters.Add(param2);
cmm.Parameters.Add(param3); try
{
cnn.Open();
OracleDataAdapter ad = new OracleDataAdapter(cmm);
DataSet ds = new DataSet();
ad.Fill(ds);
return ds.Tables[0];
}
catch (Exception e)
{
Console.Write(e.Message);
Console.Read();
}
finally
{
cnn.Close();
}
return null;
}
}