“/WebOA”应用程序中的服务器错误。
--------------------------------------------------------------------------------ORA-01745: 无效的主机/赋值变量名 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-01745: 无效的主机/赋值变量名 
 
  代码如下:
public OracleDataReader AddRoomType(string typename)
{
OracleDataReader roomtypedr;
DataBase data=new DataBase();
OracleParameter[] prams = {
                  data.MakeParam("@typename",OracleType.VarChar,20,typename),
};
data.RunSql("Insert into tb_meeting_room_type(room_type_id,room_type_name) values(room_sequenc.nextval,:@typename)",out roomtypedr);
return roomtypedr;


出错地方为下面第二句:ORA-01745: 无效的主机/赋值变量名 
OracleCommand cmd = CreateCommand(SqlStr, null);
dataReader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection) 
  

解决方案 »

  1.   

    public OracleDataReader AddRoomType(string typename)
    {
    OracleDataReader roomtypedr;
    DataBase data=new DataBase();
    OracleParameter[] prams = {
                      data.MakeParam(":typename",OracleType.VarChar,20,typename),
    };
    data.RunSql("Insert into tb_meeting_room_type(room_type_id,room_type_name) values(room_sequenc.nextval,:typename)",out roomtypedr);
    return roomtypedr;


      

  2.   

    主要是变量名称对不上,ORACLE的SQL参数是以:开头的
      

  3.   

    data.RunSql("Insert into tb_meeting_room_type(room_type_id,room_type_name) values(room_sequenc.nextval,'"+typename+"'",out roomtypedr);