0

我有一个 .NET 项目 [场景],我在其中:

  1. 从 .NET 中的 WinSCP.com 库下载的文件
  2. 解析它们,创建令牌,使用 LINQ to SQL 将它们插入 SQL-DB。

问题在于将其转换为服务期间。当我运行该服务时,下载部分运行良好,但是当使用 LINQ to SQL 推入数据库时​​,它给出了一个异常,甚至没有在数据库中输入一行。

注意:使用 EventLog 发现的异常如下:

Application: ErrLogsService_57_92.exe 
Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: 
System.Data.SqlClient.SqlException Stack: at 
System.Data.Linq.DataContext.SubmitChanges(System.Data.Linq.ConflictMode) at 
ErrLogsService_57_92.ErrLogsCreation.Read_Log_File(System.String, Int32, Int32) at 
ErrLogsService_57_92.ErrLogsCreation.parseFileAndPush(Int32) at 

System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart() 

插入数据的代码是:

if (CheckLineErrorNot(Line_Str_Is))
{
    sql_DB_LOGS_aDataContext rowInsert = new sql_DB_LOGS_aDataContext();
    Col1 = Get1_Column_DateTime(Line_Str_Is, 0);
    Col2 = Get2_Column_JavaFileName(Line_Str_Is, 59);
    Col3 = Get3_Column_PortNumber(Line_Str_Is, 90);
    Col4 = Get4_Column_ErrorString(Line_Str_Is, endIndexOf_JavaFile, Line_Str_Is.Length);

    // Request creation to insert Error-Logs
    LogsError insertQry = new LogsError
    {
        DateTime = Col1.ToString(),
        FileName = Col2.ToString(),
        PortNumber = Col3.ToString(),
        ErrorString = Col4.ToString(),
        ID_IP = (int)IP,
        ID_FILE = (int)ID_FILE_IS
    };
    rowInsert.LogsErrors.InsertOnSubmit(insertQry);
    rowInsert.SubmitChanges();
}
else
{
    ;
}
4

0 回答 0