Ejemplo n.º 1
0
        private void ConnectSBO(ref SAPbobsCOM.Company oCompany, ref int nErr, ref string sErr, string CompanyName)
        {
            VisualD.Core.TVisualDCore Core;

            sErr = "";
            nErr = 0;

            oLog.LogMsg("ConnectSBO start", "F", "D");
            SBO_VID_Currency.Properties.Settings.Default.Reload();
            // Set company properties

            switch (SBO_VID_Currency.Properties.Settings.Default.SQLType)    // 0->2005 1-2008 2-2012
            {
            case 0: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2005;
                break;

            case 1: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2008;
                break;

            case 2: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2012;
                break;

            case 3: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2014;
                break;

            case 4: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2016;
                break;

            case 5: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2017;
                break;

            case 6: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_MSSQL2019;
                break;

            case 7: oCompany.DbServerType = SAPbobsCOM.BoDataServerTypes.dst_HANADB;
                break;
            }
            oCompany.UseTrusted = false;
            oCompany.Server     = SBO_VID_Currency.Properties.Settings.Default.SBOServer; // +":40000";
            oCompany.DbUserName = SBO_VID_Currency.Properties.Settings.Default.DBUserName;
            oCompany.DbPassword = Crypt.Decrypt(SBO_VID_Currency.Properties.Settings.Default.DBPassword, "VIDCurrency0-09");
            oCompany.CompanyDB  = CompanyName;
            oCompany.UserName   = globals.SBOUser;
            oCompany.Password   = globals.SBOPass;

            //Try to connect
            nErr = oCompany.Connect();
            oLog.LogMsg("try connect", "F", "D");

            if (nErr != 0) // if the connection failed
            {
                oCompany.GetLastError(out nErr, out sErr);
            }
            else
            {
                SAPbobsCOM.Recordset oRecordSet; // A recordset object
                oRecordSet = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);

                if (oCompany.DbServerType == SAPbobsCOM.BoDataServerTypes.dst_HANADB)
                {
                    oRecordSet.DoQuery("select \"InstallNo\" from \"CINF\"");
                }
                else
                {
                    oRecordSet.DoQuery("select InstallNo from cinf");
                }
                oLog.LogMsg("Select InstallNo", "F", "D");
                if (oRecordSet.EoF)
                {
                    sErr = "Installation Number no encontrado";
                    nErr = -1;
                    return;
                }

                string InstallId = (System.String)oRecordSet.Fields.Item("installNo").Value;

                if (oCompany.DbServerType == SAPbobsCOM.BoDataServerTypes.dst_HANADB)
                {
                    oRecordSet.DoQuery("Select CURRENT_DATE \"Fec\" from DUMMY");
                }
                else
                {
                    oRecordSet.DoQuery("Select GetDate() Fec");
                }
                DateTime            Fec          = (System.DateTime)(oRecordSet.Fields.Item("Fec").Value);
                TGlobalAddOnOptions FOpcionAddOn = new TGlobalAddOnOptions();
                List <String>       FAddonsList  = new List <String>();

                string oK = "C9A80FB4-D8C3-11E0-AEAD-7E944824019B";
                oLog.LogMsg("Before accept", "F", "D");

                Core = new VisualD.Core.TVisualDCore(InstallId, Fec, ref FOpcionAddOn, ref oK, FAddonsList);

                if (Core.ExitApp)
                {
                    sErr = "Licencia " + Core.Error;
                    nErr = -2;
                    oCompany.Disconnect();
                }
                else if (oK != "E6DCA176-D8C3-11E0-93B0-86944824019B")
                {
                    sErr = "VisualDCore enlace 2 inválido.";
                    nErr = -3;
                    oCompany.Disconnect();
                }
                else
                {
                    sErr = "OK";
                }

                if (Core.EsDEmo)
                {
                    oLog.LogMsg("Licencia de demostracion " + Core.AddOnName, "F", "W");
                }


                oLog.LogMsg("after accept", "F", "D");
            }

            oLog.LogMsg("Conexion a SBO: " + CompanyName + " - " + sErr, "F", "I");
        }
Ejemplo n.º 2
0
        private void conectarDBSQL(string BD, ref string sErr, ref int nErr, ref SqlConnection cnn)
        {
            //SqlConnection cnn = null;
            string s = "Password={0};Persist Security Info=True;User ID={1};Initial Catalog={2};Data Source={3}";

            VisualD.Core.TVisualDCore Core;
            sErr = "";
            nErr = 0;

            try
            {
                s = String.Format(s, globals.DBPass, globals.DBUser, BD, globals.server);
                oLog.LogMsg("try connect", "F", "D");
                cnn = new SqlConnection(s);
                cnn.Open();

                s = "select InstallNo, GetDate() Fec from cinf";
                var command = new SqlCommand(s, cnn);
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    if (reader.Read())
                    {
                        string              InstallId    = ((System.String)reader.GetValue(0)).Trim();
                        DateTime            Fec          = ((System.DateTime)reader.GetValue(1));
                        TGlobalAddOnOptions FOpcionAddOn = new TGlobalAddOnOptions();
                        List <String>       FAddonsList  = new List <String>();
                        string              oK           = "C9A80FB4-D8C3-11E0-AEAD-7E944824019B";
                        oLog.LogMsg("Before accept", "F", "D");
                        Core = new VisualD.Core.TVisualDCore(InstallId, Fec, ref FOpcionAddOn, ref oK, FAddonsList);
                        if (Core.ExitApp)
                        {
                            sErr = "Licencia " + Core.Error;
                            nErr = -2;
                            cnn.Close();
                        }
                        else if (oK != "E6DCA176-D8C3-11E0-93B0-86944824019B")
                        {
                            sErr = "VisualDCore enlace 2 inválido.";
                            nErr = -3;
                            cnn.Close();
                        }
                        else
                        {
                            sErr = "OK";
                        }

                        if (Core.EsDEmo)
                        {
                            oLog.LogMsg("Licencia de demostración " + Core.AddOnName, "F", "E");
                        }

                        oLog.LogMsg("after accept", "F", "D");

                        oLog.LogMsg("Conexión a SBO: " + BD + " - " + sErr, "F", "E");
                    }
                    else
                    {
                        sErr = "Installation Number no encontrado";
                        nErr = -1;
                        return;
                    }
                }
            }
            catch (Exception e)
            {
                oLog.LogMsg("Conexión BD: " + BD + " " + sErr + "Exeption: " + e.Message, "F", "E");
            }
        }