当我运行此 SQL 时,我收到此错误
这是我运行的第二个 SQL,但我尝试运行第一个 SQL,它工作两次,并且工作正常,所以可能不是开放连接问题?
不允许发送或接收数据的请求,因为未连接套接字并且(当使用发送调用在数据报套接字上发送时)未提供地址。
上次我在非常相似的代码中收到该错误,这是因为我在 args 部分的变量名中留下了“@”。
所以我强烈怀疑这是“你的 SQL 调用代码以某种方式搞砸了”或“返回 0 行”的一般错误(伙计,我希望不是后者)
public List<EnrTypeSepInfoCV> GetEnrTypeSepInfo(long enrId)
{
var aseSqlConnectionString = configuration.GetConnectionString("SybaseDBDapper");
string sql = "";
sql += "select et.enrtype_id, ";
sql += " et.active as stud_status, ";
sql += " s.sep_dt ";
sql += "from enrollment_type et,separation s ";
sql += "where et.enrtype_id *= s.enrtype_id ";
sql += "and et.enr_id = @al_enr_id ";
dapperTools.DapperCustomMapping<EnrTypeSepInfoCV>();
try
{
using (IDbConnection db = new AseConnection(aseSqlConnectionString))
{
var arguments = new
{
@al_enr_id = enrId
};
List<EnrTypeSepInfoCV> ll = new List<EnrTypeSepInfoCV>();
ll = db.Query<EnrTypeSepInfoCV>(sql, arguments).ToList();
return ll;
}
}
catch (Exception ex)
{
Trace.WriteLine(ex.ToString());
return null;
}
}
如果我拉出 SQL,用传入的值替换变量,一切正常。
我逐行将其与一个有效的 SQL 调用方法进行比较,我看不出任何差异。有谁知道我做错了什么?
有没有办法在这种情况下获得更多信息错误?
如果重要的话,我正在编写一个 .Net Core Web API 服务,供针对 Sybase DB v12.* 运行的 Vue 应用程序使用。
我有其他 API 方法可以正常工作,它们以相同的方式调用数据库。
这是我的数据对象
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SpProofOfConceptAPI.Dto
{
public class EnrTypeSepInfoCV
{
[Dapper.Column("enrtype_id")]
public Int64 EnrTypeId { get; set; }
[Dapper.Column("stud_status")]
public string StudStatus { get; set; }
[Dapper.Column("sep_dt")]
public DateTime? SepDt { get; set; }
}
}