我装的oracle好像是客户端的 我连接的数据库是别人电脑上面的数据库,用plsql能打开,
// 建立数据库连接.
OracleConnection conn = new OracleConnection(connStr);
// 创建一个适配器
OracleDataAdapter adapter = new OracleDataAdapter(name, conn);
// 创建DataSet,用于存储数据.
DataSet testDataSet = new DataSet();
// 执行查询,并将数据导入DataSet.
adapter.Fill(testDataSet, "result_data");
// 关闭数据库连接.
conn.Close();
DataTable dt = testDataSet.Tables[0];
return dt;
这个也能访问(自己写的),
但是,用DBhelper就不能打开。提示信息是“- base {"ORA-12154: TNS: 无法解析指定的连接标识符\n"} System.Data.Common.DbException {System.Data.OracleClient.OracleException}
”
请问怎么解决这个问题??
// 建立数据库连接.
OracleConnection conn = new OracleConnection(connStr);
// 创建一个适配器
OracleDataAdapter adapter = new OracleDataAdapter(name, conn);
// 创建DataSet,用于存储数据.
DataSet testDataSet = new DataSet();
// 执行查询,并将数据导入DataSet.
adapter.Fill(testDataSet, "result_data");
// 关闭数据库连接.
conn.Close();
DataTable dt = testDataSet.Tables[0];
return dt;
这个也能访问(自己写的),
但是,用DBhelper就不能打开。提示信息是“- base {"ORA-12154: TNS: 无法解析指定的连接标识符\n"} System.Data.Common.DbException {System.Data.OracleClient.OracleException}
”
请问怎么解决这个问题??
stop
start!
SQL code
tnanames.ora贴出来看一下!还有就是lsnrctl
stop
start!
[/Quote] /// <summary>
/// Execute a database query which does not include a select
/// </summary>
/// <param name="connString">Connection string to database</param>
/// <param name="cmdType">Command type either stored procedure or SQL</param>
/// <param name="cmdText">Acutall SQL Command</param>
/// <param name="commandParameters">Parameters to bind to the command</param>
/// <returns></returns>
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params OracleParameter[] commandParameters)
{
// Create a new Oracle command
OracleCommand cmd = new OracleCommand(); //Create a connection
using (OracleConnection connection = new OracleConnection(connectionString))
{ //Prepare the command
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); //Execute the command
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// Internal function to prepare a command for execution by the database
/// </summary>
/// <param name="cmd">Existing command object</param>
/// <param name="conn">Database connection object</param>
/// <param name="trans">Optional transaction object</param>
/// <param name="cmdType">Command type, e.g. stored procedure</param>
/// <param name="cmdText">Command test</param>
/// <param name="commandParameters">Parameters for the command</param>
private static void PrepareCommand(OracleCommand cmd, OracleConnection conn, OracleTransaction trans, CommandType cmdType, string cmdText, OracleParameter[] commandParameters)
{ //Open the connection if required
if (conn.State != ConnectionState.Open)
conn.Open(); //Set up the command
cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = cmdType; //Bind it to the transaction if it exists
if (trans != null)
cmd.Transaction = trans; // Bind the parameters passed in
if (commandParameters != null)
{
foreach (OracleParameter parm in commandParameters)
cmd.Parameters.Add(parm);
}
}[
请仔细检查。