C#写的Win form 程序,需要读取Oracle数据库信息。
现在:
1.在PL/SQL Developer 中能正常读取Oracle;
2.sqlplus能正常读取Oracle;
3.Net Manage 下测试服务名正常连通;
4.到C#程序里,提示“ORA-12154: TNS:could not resolve service name”;百思不得其解,望哪位高人给解决下.注:以上各种连接都是在同一台机器上连接远程的Oracle。
现在:
1.在PL/SQL Developer 中能正常读取Oracle;
2.sqlplus能正常读取Oracle;
3.Net Manage 下测试服务名正常连通;
4.到C#程序里,提示“ORA-12154: TNS:could not resolve service name”;百思不得其解,望哪位高人给解决下.注:以上各种连接都是在同一台机器上连接远程的Oracle。
{
string strSql = "select * from tableA";
string strTableName = "tableA";
DataTable dt = null;
try
{
dt = OracleHelper.ExecuteDataTable(conn, CommandType.Text, strSql , strTableName, null);
}
catch (Exception e)
{
string content = e.Message + "连接字符串:\"" + conn.ConnectionString + "\"";
Log.Write(content);
}
return dt;
}
{
DataSet inds = new DataSet();
OracleDataAdapter Da = new OracleDataAdapter(cmdText, conn);
PrepareCommand(Da.SelectCommand, conn, null, cmdType, cmdText, commandParameters); Da.Fill(inds, tablename);
Da.SelectCommand.Parameters.Clear();
Da.Dispose();
return inds.Tables[0];
}
{
DataTable table1 = null;
try
{
table1 = new DataTable();
conn.Open();
string sql = "select * from BRN_DATA_POINTTABLE";
OracleCommand command = new OracleCommand();
command.CommandText = sql;
command.Connection = conn;
OracleDataAdapter adapter = new OracleDataAdapter(command);
adapter.Fill(table1);
}
catch (Exception e)
{
string content = e.Message + "连接字符串:\"" + conn.ConnectionString + "\"";
Log.Write(2, content);
}
return table1;
}
ORACLE_SID=XXXX(SID名)
只看到你在调用sql
#region 类中的全局变量 private OracleConnection sqlcon; //申明一个SqlConnection对象
private OracleCommand sqlcom; //申明一个SqlCommand对象
private OracleDataAdapter sqldata; //申明一个SqlDataAdapter对象
private string ConnStr; #endregion #region 构造函数 /// <summary> /// 构造函数,初始化时连接数据库
/// </summary>
public DB_Common()
{
string connStr;
connStr ="Data Source=SID;user=asset;password=trasset;";//
sqlcon = new OracleConnection(connStr);
} #endregion #region 打开数据库
/// <summary>
/// 打开数据库
/// </summary>
public void OpenConn()
{
if (this.sqlcon.State != ConnectionState.Open)
this.sqlcon.Open();
}
#endregion
#region 关闭数据库联接
/// <summary>
/// 关闭数据库联接
/// </summary>
public void CloseConn()
{
if (sqlcon.State == ConnectionState.Open)
sqlcon.Close();
}
#endregion public DataSet ExceDS(string SqlCom)
{
try
{
OpenConn();
sqlcom = new OracleCommand(SqlCom, sqlcon);
sqldata = new OracleDataAdapter();
sqldata.SelectCommand = sqlcom;
DataSet ds = new DataSet();
sqldata.Fill(ds);
return ds;
}
finally
{
// sqlcon.Close();
CloseConn();
}
}
这样调用
dataset ds = fn.ExceDS(sql);
response.writ(ds.table[0].rows.count);