[英]SQL Query doesn't work in asmx web service
我制作了asmx网站,以便从oracle数据库中获取数据。 当我使用简短查询时,它工作正常:
select * from dbrepn10.DDT_DA_DIRECTION_SV
但是,如果我使用像这样的长查询:
SELECT XB_.R_OBJECT_ID, XB_.OBJECT_NAME, XB_.R_CREATION_DATE, XB_.R_MODIFY_DATE, XB_.R_MODIFIER, XB_.R_ACCESS_DATE, XB_.A_CONTENT_TYPE,
XB_.R_CONTENT_SIZE, XB_.OWNER_NAME, XB_.ACL_DOMAIN, XB_.ACL_NAME, XB_.R_CREATOR_NAME, BKB_.DSI_PAGE_COUNT, EKB_.DSS_REG_NUMBER, EKB_.DST_REG_DATE, EKB_.DSS_OBJECT_NAME_RU, MKB_.DSS_TITLE_RU, MKB_.DSS_TITLE_KK
FROM dbrep36.DM_SYSOBJECT_S XB_, dbrep36.DDT_EAR_S BKB_, dbrep36.DDT_EAR_REG_S EKB_,dbrep36.DDT_DA_DIRECTION_S MKB_
WHERE (XB_.R_OBJECT_ID=MKB_.R_OBJECT_ID AND (XB_.R_OBJECT_ID=BKB_.R_OBJECT_ID AND (BKB_.R_OBJECT_ID=MKB_.R_OBJECT_ID AND (XB_.R_OBJECT_ID=EKB_.R_OBJECT_ID AND(BKB_.R_OBJECT_ID=EKB_.R_OBJECT_ID AND EKB_.R_OBJECT_ID=MKB_.R_OBJECT_ID)))))
我的Web服务未返回结果。 并且没有错误消息。
可能是什么原因 ?
码:
public DataTable GetSpecificView(string query_string)
{
string host = WebConfigurationManager.AppSettings["host"].ToString();
string port = WebConfigurationManager.AppSettings["port"].ToString();
string servicename = WebConfigurationManager.AppSettings["servicename"].ToString();
string user = WebConfigurationManager.AppSettings["user"].ToString();
string password = WebConfigurationManager.AppSettings["password"].ToString();
DataTable data = new DataTable();
string connectionString = OracleConnString(host, port, servicename, user, password);
OracleConnection con = new OracleConnection(connectionString);
con.ConnectionString = connectionString;
string result = "";
try
{
con.Open();
OracleCommand cmd = new OracleCommand(query_string, con);
DataSet dataSet = new DataSet();
new OracleDataAdapter(cmd).Fill(dataSet);
if (dataSet.Tables.Count > 0)
{
data = dataSet.Tables[0];
}
con.Close();
}
catch (Exception ex)
{
result = ex.Message;
}
return data;
}
您确定您没有例外吗? 您的catch循环没有执行任何操作,只是将异常消息分配给一个似乎没有记录在任何地方的字符串。
另外,您应该将con.Close()
调用放置在finally块中,因为如果引发异常,则不会调用它。
您是否尝试过在数据库上正确运行SQL查询以确保它确实有效?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.