0

我需要连接到外部 SQL 服务器来读取和写入数据集,但一直运行到错误页面。错误只是标准的“出了点问题”。消息,所以它实际上并没有为我提供任何信息。

为了测试一个基本的阅读过程,我设置了一个“ExternalSQL”类型的表和一个在打开时注册与外部服务器的连接的页面。我也尝试在打开公司时建立连接,这没有造成任何问题,直到我真正访问新页面。在调试期间打开页面时,VSC 在 OnInit 触发器之前停止运行并声称它在断点处停止。但不仅没有断点,编辑器也没有跳转到当前行,调用堆栈和变量都是空的。这是调试器暂停的唯一一次,在恢复运行后,错误页面再次打开,在到达 OnInit 触发器之前再次打开。

这是表的代码:

table 50100 "Export CES"
{
    Caption = 'Export';
    DataClassification = SystemMetadata;
    TableType = ExternalSQL;
    ExternalName = 'Export';
    ExternalSchema = 'dbo';

    fields
    {
        field(1; Number; Integer)
        {
            Caption = 'No.';
            DataClassification = SystemMetadata;
        }
        field(2; Name; Text[255])
        {
            Caption = 'Name';
            DataClassification = SystemMetadata;
        }
        field(3; Quantity; Integer)
        {
            Caption = 'Address';
            DataClassification = SystemMetadata;
        }
    }

    keys
    {
        key(PK; Number)
        {
            Clustered = true;
        }
    }
}

和表的代码:

page 50100 "Export CES"
{
    ApplicationArea = All;
    Caption = 'Export CES';
    PageType = List;
    SourceTable = "Export CES";
    UsageCategory = Administration;

    layout
    {
        area(content)
        {
            repeater(General)
            {
                field(Number; Rec.Number)
                {
                    ApplicationArea = All;
                }
                field(Name; Rec.Name)
                {
                    ApplicationArea = All;
                }
                field(Quantity; Rec.Quantity)
                {
                    ApplicationArea = All;
                }
            }
        }
    }

    trigger OnInit()
    begin
        if Database.HasTableConnection(TableConnectionType::ExternalSQL, 'MSSQLSERVER01') then begin
            Database.UnregisterTableConnection(TableConnectionType::ExternalSQL, 'MSSQLSERVER01');
        end;
        Database.RegisterTableConnection(TableConnectionType::ExternalSQL, 'MSSQLSERVER01', 'Server=localhost\MSSQLSERVER01, 1433;Database=master;Trusted_Connection=True;');
        Database.SetDefaultTableConnection(TableConnectionType::ExternalSQL, 'MSSQLSERVER01');
    end;

    trigger OnClosePage()
    begin
        Database.UnregisterTableConnection(TableConnectionType::ExternalSQL, 'MSSQLSERVER01');
    end;
}
4

0 回答 0