可以';t在WCF中执行SQL
本文关键字:WCF 执行 SQL 可以 | 更新日期: 2024-10-21 04:09:46
我曾尝试在WCF服务中收集数据,但总是收到错误
由于内部错误,服务器无法处理该请求。有关错误的详细信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft启用跟踪。NET Framework SDK文档并检查服务器跟踪日志。
当我卸载SQL Server 2005并将其替换为SQL Server 2008时,就会发生这种情况。请有人帮我
这是我的代码
public DataTable fillData(string connection, string tableName)
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection())
{
con.Open();
using (SqlDataAdapter da = new SqlDataAdapter("select * from " + tableName, con))
{
da.Fill(dt);
}
}
return dt;
}
您没有给出连接对象和打开连接对象的任何细节。你可能会因此而感到异常。使用其他版本的SqlConnection构造函数SqlConnection(字符串),并在SqlConnection的构造函数中传递参数中的连接字符串。
作为附加说明,使用try-catch来处理异常
public DataTable fillData(string connection, string tableName)
{
DataTable dt = new DataTable();
try
{
using (SqlConnection con = new SqlConnection(connection))
{
con.Open();
using (SqlDataAdapter da = new SqlDataAdapter("select * from " + tableName,con))
{
da.Fill(dt);
}
}
}
catch(Exception ex)
{
//You may log exception here and show some message to user
}
return dt;
}
就您收到的消息而言,WCF服务设置不允许显示内部服务器错误的详细信息。您可以在开发过程中允许使用ServiceBehaviorAttribute.IncludeExceptionDetailInFaults
属性来获得确切的错误消息。
ServiceBehaviorAttribute。IncludeExceptionDetailInFaults
获取或设置一个值,该值指定一般未处理的执行异常将转换为系统ServiceModel。Fault类型异常系统ServiceModel。ExceptionDetail,并作为故障消息发送。设置只有在开发对服务进行故障排除时,这才是真的