使用app.config文件连接到SAP公司对象

本文关键字:SAP 公司 对象 连接 app config 文件 使用 | 更新日期: 2023-09-27 18:27:50

我最近学会了如何使用app.config为我的.net项目保存连接字符串。如果我更改了连接字符串中的某些内容,并且项目已经发布,我发现这非常有帮助。

现在,我正在使用SAP的B1 SDK中的company对象,我不想将连接详细信息保留在硬编码中。由于它不仅仅是一个连接字符串(据我所知),所以我想知道app.config是否也可以存储company对象的连接详细信息。

这就是我通常与company对象进行连接的方式:

        oCompany = new SAPbobsCOM.Company();
        oCompany.Server = "servername";
        oCompany.language = SAPbobsCOM.BoSuppLangs.ln_Spanish_La;
        oCompany.DbServerType = BoDataServerTypes.dst_MSSQL2008;
        oCompany.LicenseServer = "localhost:30000";
        oCompany.UseTrusted = false;
        oCompany.DbUserName = "dbusername";
        oCompany.DbPassword = "dbpassword";
        oCompany.CompanyDB = "companyDB";
        oCompany.UserName = "cusername";
        oCompany.Password = "cpassword";
        lRetCode = oCompany.Connect();

使用app.config文件连接到SAP公司对象

Karol的评论很中肯,下面是我们通常的设置方式。唯一的补充意见是,根据您的部署环境,您可能需要加密app.config中的敏感凭据(密码)。

// In code
Company company = new Company
{
    Server = ConfigurationManager.AppSettings["DevServer"],
    DbUserName = ConfigurationManager.AppSettings["DevDBUser"],
    DbPassword = ConfigurationManager.AppSettings["DevDBPassword"],
    CompanyDB = ConfigurationManager.AppSettings["DevDatabase"],
    UserName = ConfigurationManager.AppSettings["DevSBOUser"],
    Password = ConfigurationManager.AppSettings["DevSBOPassword"],
    language = BoSuppLangs.ln_English
};
// In your app.config
<appSettings>
   <add key="DevServer" value="DEV-SAP-SRV"/>
   <add key="DevDBUser" value="sa"/>
   <add key="DevDBPassword" value="sapassword"/>
   <add key="DevSBOUser" value="manager"/>
   <add key="DevSBOPassword" value="1234"/>
   <add key="DevDatabase" value="SBO_COMPANY_NAME"/>
</appSettings>