求解:新年第一个错误

duzhaoyi2000 2005-02-11 02:42:09
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
...全文
267 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
beijingbeerman 2005-02-12
  • 打赏
  • 举报
回复
gf
yyne 2005-02-12
  • 打赏
  • 举报
回复
jf
老鹰40 2005-02-12
  • 打赏
  • 举报
回复
gz
nga96 2005-02-12
  • 打赏
  • 举报
回复
搞定就好
duzhaoyi2000 2005-02-12
  • 打赏
  • 举报
回复
问题已解决,该死的变量问题

谢谢各位热心的朋友:)
新年快乐!
duzhaoyi2000 2005-02-12
  • 打赏
  • 举报
回复
OracleConnection Conn=new OracleConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
此语句是在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 添加会室
duzhaoyi2000 2005-02-12
  • 打赏
  • 举报
回复
public void AddMeetingRoom(string roomname,string location,string dept,string roomtypeid,string status,string ispublic,int avgnumber,int maxnumber,string resource,string comments)
{
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();


}
hawk234 2005-02-11
  • 打赏
  • 举报
回复
对,可能是sql 语句使用了保留字。
wangrenda 2005-02-11
  • 打赏
  • 举报
回复
连接串问题
tonybaobao 2005-02-11
  • 打赏
  • 举报
回复
sql 语句的问题,可能使用了保留字。

---------------------------------------------------
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
LoveCherry 2005-02-11
  • 打赏
  • 举报
回复
more code in the class roomdata please
duzhaoyi2000 2005-02-11
  • 打赏
  • 举报
回复
Room roomdata=new Room();
roomdata.AddMeetingRoom(roomname,roomtypeid,dept,avgnumber,maxnumber,status,ispublic,location,resource,comments);
duzhaoyi2000 2005-02-11
  • 打赏
  • 举报
回复
string roomname=txtRoomName.Text.ToString();
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();
duzhaoyi2000 2005-02-11
  • 打赏
  • 举报
回复
连接串没问题,其它页面是这样连接的,就可以对数据库进行操作
hedonister 2005-02-11
  • 打赏
  • 举报
回复
连接串不对
yizhixiaozhu 2005-02-11
  • 打赏
  • 举报
回复
up
fanweiwei 2005-02-11
  • 打赏
  • 举报
回复
看看摸conn的数据库连接语句有没有错
AllenTing 2005-02-11
  • 打赏
  • 举报
回复
看不出来
minghui000 2005-02-11
  • 打赏
  • 举报
回复
up
duzhaoyi2000 2005-02-11
  • 打赏
  • 举报
回复
赋值错误?
加载更多回复(3)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧