Acumatica正在使用mysql或sql如何在c#代码中识别

问题描述 投票:0回答:1

Acumatica正在使用mysql或sql如何在c#代码中识别。或者 在 Acumatica 中如何在 C# 代码中获取提供程序名称以识别 SQL 或 MySql。

acumatica
1个回答
0
投票

我使用自定义包中的本机/跳过 SQL 脚本属性来运行 SQL 版本的相关“选择版本”脚本,并使用以下方式呈现它:

  • 已将视图添加到 SQL 数据库。
  • 视图的数据访问类 (DAC)。
  • 使用 DAC 的通用查询 (GI)。

定制项目.xml:https://pastebin.com/DCkRjxg1

定制:数据库脚本:

--[mysql: Skip]
--[mssql: Native]
IF OBJECT_ID('dbo.SQLversion', 'V') IS NOT NULL DROP VIEW [SQLversion];
GO
--[mysql: Skip]
--[mssql: Native]
CREATE VIEW [SQLversion] AS (SELECT 'SQL Server' AS [Type],(SELECT @@VERSION) AS [Version])
GO

--[mysql: Native]
--[mssql: Skip]
DROP VIEW IF EXISTS `SQLversion`;
CREATE VIEW `SQLversion` AS (SELECT 'MySQL' AS 'Type',(SELECT VERSION()) AS 'Version')
GO

定制:代码>新DAC:

using System;
using PX.Data;

namespace SQLversion
{
  [Serializable]
  [PXCacheName("SQLversion")]
  public class SQLversion : IBqlTable
  {
    #region Type
    [PXDBString(50, IsUnicode = true, InputMask = "")]
    [PXUIField(DisplayName = "Type")]
    public virtual string Type { get; set; }
    public abstract class type : PX.Data.BQL.BqlString.Field<type> { }
    #endregion

    #region Version
    [PXDBString(2000, InputMask = "")]
    [PXUIField(DisplayName = "Version")]
    public virtual string Version { get; set; }
    public abstract class version : PX.Data.BQL.BqlString.Field<version> { }
    #endregion
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.