ORA-01745: 无效的主机/赋值变量名
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-01745: 无效的主机/赋值变量名 源错误:
行 144:
行 145: Conn.Open();
行 146: int count = cmd.ExecuteNonQuery();
行 147: Conn.Close();
行 148: return count;
源文件: e:\weboa\bll\room.cs 行: 146
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.OracleClient.OracleException: ORA-01745: 无效的主机/赋值变量名 源错误:
行 144:
行 145: Conn.Open();
行 146: int count = cmd.ExecuteNonQuery();
行 147: Conn.Close();
行 148: return count;
源文件: e:\weboa\bll\room.cs 行: 146
int roomtypeid=int.Parse(drpMeetingRoomtype.SelectedItem.Value);
string dept=drpDepartment.SelectedItem.Value.ToString();
int avgnumber=int.Parse(txtAvgNumber.Text.ToString());
int maxnumber=int.Parse(txtMaxMember.Text.ToString());
string status=drpRoomStatus.SelectedItem.Text.ToString();
string ispublic=drpIfPublic.SelectedItem.Text.ToString();
string location=txtRoomLocation.Text.ToString();
string resource=txtRoomResources.Text.ToString();
string comments=txtComments.Text.ToString();
roomdata.AddMeetingRoom(roomname,roomtypeid,dept,avgnumber,maxnumber,status,ispublic,location,resource,comments);
ORA-01745: invalid host/bind variable name
Cause: A colon in a bind variable or INTO specification was followed by an inappropriate name, perhaps a reserved word. Action: Change the variable name and retry the operation.
---------------------------------------------------
Be wary of reserved words that you use as bind variables because they may not work. For example: set date "2000-07-08"
set bind_vars [ad_tcl_vars_to_ns_set date]
db_string date_select "select :date from dual" -bind $bind_vars
ns_set free $bind_vars
Fails with an error of ORA-01745: invalid host/bind variable name
You can't use :date as a bind variable. Instead; set current_date "2000-07-08"
set bind_vars [ad_tcl_vars_to_ns_set current_date]
db_string current_date_select "select :current_date from dual" -bind
$bind_vars
ns_set free $bind_vars
{
string strSql = "insert into to_meeting_room (room_id,dept_id,room_type_id,room_name,room_normal_capacity,room_max_capacity,room_res_id,room_location,room_status_id,is_public,room_comments) values (roomid_sequence.nextval,:@dept,:@roomtypeid,:@roomname,:@avgnumber,:@maxnumber,:@resource,:@location,:@status,:@ispublic,:@comments)";
OracleCommand insertcmd = new OracleCommand(strSql,Conn);
insertcmd.Parameters.Add(new OracleParameter("@roomname",OracleType.VarChar,100));
insertcmd.Parameters["@roomname"].Value=roomname;
insertcmd.Parameters.Add(new OracleParameter("@location",OracleType.VarChar,200));
insertcmd.Parameters["@location"].Value=location;
insertcmd.Parameters.Add(new OracleParameter("@dept",OracleType.VarChar,8));
insertcmd.Parameters["@dept"].Value=dept;
insertcmd.Parameters.Add(new OracleParameter("@roomtypeid",OracleType.VarChar,8));
insertcmd.Parameters["@roomtypeid"].Value=roomtypeid;
insertcmd.Parameters.Add(new OracleParameter("@status",OracleType.VarChar,10));
insertcmd.Parameters["@status"].Value=status;
insertcmd.Parameters.Add(new OracleParameter("@ispublic",OracleType.VarChar,10));
insertcmd.Parameters["@ispublic"].Value=ispublic;
insertcmd.Parameters.Add(new OracleParameter("@avgnumber",OracleType.Number,12));
insertcmd.Parameters["@avgnumber"].Value=avgnumber;
insertcmd.Parameters.Add(new OracleParameter("@maxnumber",OracleType.Number,12));
insertcmd.Parameters["@maxnumber"].Value=maxnumber;
insertcmd.Parameters.Add(new OracleParameter("@resource",OracleType.VarChar,500));
insertcmd.Parameters["@resource"].Value=resource;
insertcmd.Parameters.Add(new OracleParameter("@comments",OracleType.VarChar,500));
insertcmd.Parameters["@comments"].Value=comments;
Conn.Open();
insertcmd.ExecuteNonQuery();
Conn.Close();
}
此语句是在ROOM类里定义的
数据库连接没问题
其他页面完全可以进行数据库操作
现在又出现新错误,下面是调试信息,传进去的数据值是正确的
////////////////////////////////////
OracleException: ORA-01036: 非法的变量名/编号
]
System.Data.OracleClient.OracleConnection.CheckError(OciHandle errorHandle, Int32 rc) +80
System.Data.OracleClient.OracleParameterBinding.Bind(OciHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection) +1177
System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean isReader, Boolean needRowid, OciHandle& rowidDescriptor, ArrayList& refCursorParameterOrdinals) +1936
System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciHandle& rowidDescriptor) +32
System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciHandle& rowidDescriptor) +170
System.Data.OracleClient.OracleCommand.ExecuteNonQuery() +56
DA.Room.AddMeetingRoom(String roomname, String location, String dept, String roomtypeid, String status, String ispublic, Int32 avgnumber, Int32 maxnumber, String resource, String comments) in e:\weboa\da\room.cs:168
WebOA.meeting.MeetingRoomDetail.btnAddMeetingRoom_Click(Object sender, EventArgs e) in e:\weboa\weboa\submodule\meeting\meetingroomdetail.aspx.cs:140
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1277
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
请求详细信息
会话 ID: wyr4bq55vhpeaom1gnl1ida5 请求类型: POST
请求的时间: 2005-2-12 0:51:34 状态代码: 500
请求编码: Unicode (UTF-8) 响应编码: Unicode (UTF-8)
跟踪信息
类别 消息 From First(s) From Last(s)
aspx.page Begin Init
aspx.page End Init 0.000113 0.000113
aspx.page Begin LoadViewState 0.000182 0.000069
aspx.page End LoadViewState 0.000451 0.000269
aspx.page Begin ProcessPostData 0.000537 0.000087
aspx.page End ProcessPostData 0.000701 0.000164
aspx.page Begin ProcessPostData Second Try 0.000776 0.000074
aspx.page End ProcessPostData Second Try 0.000813 0.000038
aspx.page Begin Raise ChangedEvents 0.000855 0.000042
aspx.page End Raise ChangedEvents 0.000893 0.000038
aspx.page Begin Raise PostBackEvent 0.000927 0.000034
aaaaaa 0.004032 0.003105
未处理的执行错误
ORA-01036: 非法的变量名/编号 at System.Data.OracleClient.OracleConnection.CheckError(OciHandle errorHandle, Int32 rc)
at System.Data.OracleClient.OracleParameterBinding.Bind(OciHandle statementHandle, NativeBuffer parameterBuffer, OracleConnection connection)
at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean isReader, Boolean needRowid, OciHandle& rowidDescriptor, ArrayList& refCursorParameterOrdinals)
at System.Data.OracleClient.OracleCommand.Execute(OciHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciHandle& rowidDescriptor)
at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciHandle& rowidDescriptor)
at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()
at DA.Room.AddMeetingRoom(String roomname, String location, String dept, String roomtypeid, String status, String ispublic, Int32 avgnumber, Int32 maxnumber, String resource, String comments) in e:\weboa\da\room.cs:line 168
at WebOA.meeting.MeetingRoomDetail.btnAddMeetingRoom_Click(Object sender, EventArgs e) in e:\weboa\weboa\submodule\meeting\meetingroomdetail.aspx.cs:line 140
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain() 0.011638 0.007606
控件树
控件 ID 类型 呈现大小字节数(包括子级) 视图状态大小字节数(排除子级)
Cookie 集合
名称 值 大小
ASP.NET_SessionId wyr4bq55vhpeaom1gnl1ida5 42
标头集合
名称 值
Cache-Control no-cache
Connection Keep-Alive
Content-Length 614
Content-Type application/x-www-form-urlencoded
Accept image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*
Accept-Encoding gzip, deflate
Accept-Language zh-cn
Authorization NTLM TlRMTVNTUAADAAAAAAAAAEgAAAAAAAAASAAAAAAAAABIAAAAAAAAAEgAAAAAAAAASAAAAAAAAABIAAAABcKAogUAkwgAAAAP
Cookie ASP.NET_SessionId=wyr4bq55vhpeaom1gnl1ida5
Host localhost
Referer http://localhost/WebOA/SubModule/meeting/MeetingRoomDetail.aspx
User-Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
窗体集合
名称 值
__EVENTTARGET
__EVENTARGUMENT
__VIEWSTATE dDwxNjA4MDA4MzU2O3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDExPjtpPDE1Pjs+O2w8dDx0PDt0PGk8ND47QDzotKLliqHpg6g76ZSA5ZSu6YOoO+W3peeoi+mDqDvov5DovpPpg6g7PjtAPDAxOzAyOzAzOzA0Oz4+Oz47Oz47dDx0PDt0PGk8Mz47QDzlhazlhbHkvJrorq7lrqQ756eB5Lq65Lya6K6u5a6kO+S4k+eUqOS8muiuruWupDs+O0A8MTsyOzM7Pj47Pjs7Pjs+Pjs+Pjs+yK8+eQifyGNHxYXZg6q1wR3ReUA=
txtRoomName fef
txtRoomLocation ere
drpDepartment 01
drpMeetingRoomtype 1
drpRoomStatus 1
drpIfPublic 1
txtAvgNumber 232
txtMaxMember 323
txtComments erre
txtRoomResources rere
btnAddMeetingRoom 添加会室