这个是结果的异常 Exception 获得的描述
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Line 1: Incorrect syntax near ','.
很奇怪,把相同的程序放在本地 就可以通过,,放到网上就不行,,
服务器一个在辽宁 一个在美国,,我怀疑是不是 IIS限制了字符? 还是什么原因?
解决方案 »
- C#代码中要调用C++写的SOCKET通信DLL,遇到了参数传递问题!!
- 怎样让viewlist打开大量图片不卡?
- Winform中Socket类的Send函数的问题
- C# WNCE6.0 设置父窗体时 显示错误:无法将顶级控件添加到控件
- 火力支援!DotNet中intptr转换成int型
- 求助
- 请教各位大哥。。。多谢!!
- 来人讨论下,关于多线程内频繁使用匿名方法和ParameterizedThreadStart委托的损耗问题
- C#分层写的程序 怎么在没有VS的电脑下打开
- winform的treeView问题!
- winform 有两个listbox 分别对应父分类子分类
- c# 如何通过IP和域管理员得到各客户端的程序列表
代理服务器? 不清楚,我们是租的机房
因为我要把数据回传给美国数据库,,而美国数据库做的安全策略很多,,
这个异常报的是 ',' 附近有问题,,是不是有什么特殊字符不允许通过IIS访问? 还是?
StringBuilder insertValue = new StringBuilder();
StringBuilder sb_Update = new StringBuilder();
string InsertSql = "INSERT INTO {0} ({1}) VALUES ({2})";
string UpdateSql = "Update {0} Set {1} WHERE {2} = {3}";
string SelectSql = "SELECT * FROM {0} WHERE {1} = {2}"; int return_Value = dtb.Rows.Count; for (int r = 0; r < dtb.Rows.Count; r++)
{
if (TableName == "ManifestHistory")
{
using (SqlDataReader sr = SqlHelper.ExecuteReader(connectionString, CommandType.Text, string.Format(SelectSql, TableName, "MHID", dtb.Rows[r]["MHID"].ToString())))
{
if (sr.Read())
{
#region 修改 for (int i = 1; i < dtb.Columns.Count; i++)
{
sb_Update.Append(dtb.Columns[i].ColumnName);
//int float 不加 ' 其他的加 '
if (dtb.Columns[i].DataType.ToString() != "System.Int32" && dtb.Columns[i].DataType.ToString() != "System.Double" && dtb.Columns[i].DataType.ToString() != "System.Decimal")
{
sb_Update.Append(" = N'" + dtb.Rows[r][i].ToString().Replace("'", "''") + "'");
}
else
{
sb_Update.Append(" = " + dtb.Rows[r][i].ToString().Replace("'", "''"));
}
sb_Update.Append(",");
}
if (sb_Update.Length > 0)
{
sb_Update.Remove(sb_Update.Length - 1, 1);
}
else
{
throw new Exception();
}
string sql_temp = string.Format(UpdateSql, TableName, sb_Update.ToString(), "MHID", dtb.Rows[r]["MHID"].ToString());
try
{
SqlHelper.ExecuteNonQuery(connectionString, CommandType.Text, sql_temp);
}
catch (Exception ex)
{
SendEmail("发生错误的表SQL语句是:<br>" + sql_temp + "<br>发生错误的表原因是:<br>" + ex.ToString());
return_Value--;
} sb_Update.Remove(0, sb_Update.Length); #endregion continue;
}
}
} #region 插入 for (int i = 0; i < dtb.Columns.Count; i++)
{
cloumn_list.Append(dtb.Columns[i].ColumnName);
//int float 不加 ' 其他的加 '
if (dtb.Columns[i].DataType.ToString() != "System.Int32" && dtb.Columns[i].DataType.ToString() != "System.Double" && dtb.Columns[i].DataType.ToString() != "System.Decimal")
{
insertValue.Append("N'" + dtb.Rows[r][i].ToString().Replace("'", "''") + "'");
}
else
{
insertValue.Append(dtb.Rows[r][i].ToString().Replace("'", "''"));
}
cloumn_list.Append(",");
insertValue.Append(",");
}
if (cloumn_list.Length > 0 || insertValue.Length > 0)
{
cloumn_list.Remove(cloumn_list.Length - 1, 1);
insertValue.Remove(insertValue.Length - 1, 1);
}
else
{
throw new Exception();
}
string sql = string.Format(InsertSql, TableName, cloumn_list.ToString(), insertValue.ToString());
try
{
SqlHelper.ExecuteNonQuery(connectionString, CommandType.Text, sql);
}
catch (Exception ex)
{
SendEmail("发生错误的表SQL语句是:<br>" + sql + "<br>发生错误的表原因是:<br>" + ex.ToString());
return_Value--;
} cloumn_list.Remove(0, cloumn_list.Length);
insertValue.Remove(0, insertValue.Length); #endregion } if (IsNeedTransitStatus)
{
string Error = string.Empty; for (int r = 0; r < dtb.Rows.Count; r++)
{
string trackPkg_TrackNumber = dtb.Rows[r]["MHTrackNumber"].ToString();
string trackPkg_userid = "0";
string SQL_SELECT = "SELECT TSUserID FROM TransitStatus WHERE TSEmsStatus = 'EMA' AND TSTrackNumber = '" + trackPkg_TrackNumber + "'";
using (SqlDataReader sr_user = SqlHelper.ExecuteReader(connectionString, CommandType.Text, SQL_SELECT))
{
if (sr_user.Read())
{
trackPkg_userid = sr_user.GetValue(0).ToString();
}
} string SQL_SELECTHave = "SELECT TSUserID FROM TransitStatus WHERE TSEmsStatus = 'EMC' AND TSTrackNumber = '" + trackPkg_TrackNumber + "'";
using (SqlDataReader sr_user = SqlHelper.ExecuteReader(connectionString, CommandType.Text, SQL_SELECTHave))
{
if (sr_user.Read())
{
continue;
}
}
string SQL_FlightDate = "SELECT ManifestFlightDate FROM Manifest WHERE ManifestNumber = '" + dtb.Rows[r]["MHManifestNo"].ToString() + "'";
string FlightDate = "getdate()";
using (SqlDataReader sr_Date = SqlHelper.ExecuteReader(connectionString, CommandType.Text, SQL_FlightDate))
{
if (sr_Date.Read())
{
FlightDate = "'" + sr_Date.GetValue(0).ToString().Trim() + " 0:00:00" + "'";
}
} string SQL_Insert = "insert into transitstatus(tstracknumber,tsemsstatus,tsuserid,tsiscomplate,tsupdatetime)values('" + trackPkg_TrackNumber + "','EMC'," + trackPkg_userid + ",1," + FlightDate + ")";
SqlHelper.ExecuteNonQuery(connectionString, CommandType.Text, SQL_Insert);
} if (Error.Length > 0)
{
SendEmail(Error);
} }
好像不应该有","这样的字符啊,能不能贴下line1的内容。如果有的服务器可以,我才是net版本没有选对:)
但我觉得应该是被服务器给过滤掉了什么东西,,要不然不可能本地没问题,网上有问题
至于你说的SQL语句,,我个人认为应该不会有问题,,因为本地测试结果是OK的
所以应该也不会有问题,,,
但最近用 WebService 确实有着形形色色的问题,,
但大多数都是 第一次失败,,再来一次就OK 或者多试两次 就会成功,,
我感觉应该不像是程序问题,,就这段代码 我看不出有什么随机性在里边,,但是今天却遇到了 始终不好用的情况
Server was unable to process request
连接服务器的程序不只一个,都是调用的同一个WebService 只有这个有问题
而且并不是说这个方法有问题,,其他的数据调用这个都没事,,,
只有一个数据过不去,,,卡住了,,但这个数据的数据量也比较大筛选起来也不太容易