Exemple #1
0
        public IDatabaseSource DbFromStored(DbFileStoredConnection stored)
        {
            var             physconn = stored.CreatePhysicalConnection();
            IDatabaseSource conn     = new GenericDatabaseSource(null, physconn, null);

            return(conn);
        }
Exemple #2
0
        public IDatabaseSource MergeToConnection(IPhysicalConnection conn)
        {
            if (conn.GetConnKey() != m_conn.GetConnKey())
            {
                throw new InternalError("DAE-00031 Cannot merge connections with different groups");
            }
            IServerSource ressrv = null;

            if (Server != null)
            {
                ressrv = Server.MergeToConnection(conn);
            }
            GenericDatabaseSource res = new GenericDatabaseSource(ressrv, conn, m_dbname);

            return(res);
        }
Exemple #3
0
        public static ITreeNode FromStoredConnection(ITreeNode parent, IStoredConnection stored, IFileHandler fhandler)
        {
            IPhysicalConnection phys = stored.CreatePhysicalConnection();

            if (stored.DatabaseMode == ConnectionDatabaseMode.All)
            {
                IServerSource conn = new GenericServerSource(phys);
                return(new Server_SourceConnectionTreeNode(conn, parent, fhandler, stored));
            }
            else
            {
                string          exdbname = stored.DatabaseMode == ConnectionDatabaseMode.Explicit ? stored.ExplicitDatabaseName : null;
                IDatabaseSource conn     = new GenericDatabaseSource(null, phys, exdbname);
                return(new Database_SourceConnectionTreeNode(conn, parent, fhandler, stored, false));
            }
        }
Exemple #4
0
        public void SaveToXml(XmlElement xml)
        {
            xml.SetAttribute("type", "generic");
            xml.AddChild("CountQuery").InnerText  = m_countQuery;
            xml.AddChild("Query").InnerText       = m_query;
            xml.AddChild("DeleteQuery").InnerText = m_deleteQuery;
            var dbs = new GenericDatabaseSource(null, m_conn, m_dbname);

            dbs.SaveToXml(xml.AddChild("Database"));
            xml.AddChild("Title").InnerText = m_title.ToString("L");
            xml.AddChild("SupportsFilteringAndSorting").InnerText = m_supportsFilteringAndSorting ? "1" : "0";
            xml.AddChild("IsFullTableSelect").InnerText           = m_isFullTableSelect ? "1" : "0";
            if (m_tableSource != null)
            {
                m_tableSource.FullName.SaveToXml(xml.AddChild("Table"));
            }
        }
Exemple #5
0
 public IDatabaseSource GetConnection()
 {
     if (Driver != null)
     {
         if (Connection == null)
         {
             throw new CommandLineError("DAE-00266 missing connection parameter");
         }
         var sc   = (IStoredConnection)StoredConnectionAddonType.Instance.FindHolder(Driver).CreateInstance();
         var conn = sc.CreatePhysicalConnection(Connection);
         if (Database != null)
         {
             var srv = new GenericServerSource(conn);
             var db  = new GenericDatabaseSource(srv, conn, Database);
             return(db);
         }
         else
         {
             var db = new GenericDatabaseSource(null, conn, null);
             return(db);
         }
     }
     if (DbFile != null)
     {
         string fn;
         if (DbFile.StartsWith("data:"))
         {
             fn = Path.Combine(Core.DataDirectory, DbFile.Substring(5));
         }
         else
         {
             fn = DbFile;
         }
         if (fn.ToLower().EndsWith(".con"))
         {
             var doc = new XmlDocument();
             doc.Load(fn);
             var sc   = (IStoredConnection)StoredConnectionAddonType.Instance.LoadAddon(doc.DocumentElement);
             var conn = sc.CreatePhysicalConnection();
             if (sc.DatabaseMode == ConnectionDatabaseMode.All)
             {
                 if (Database == null)
                 {
                     throw new CommandLineError("DAE-00267 database parameter missing");
                 }
                 var srv = new GenericServerSource(conn);
                 var db  = new GenericDatabaseSource(srv, conn, Database);
                 return(db);
             }
             else
             {
                 return(new GenericDatabaseSource(null, conn, null));
             }
         }
         foreach (var hld in FileHandlerAddonType.Instance.CommonSpace.GetAllAddons())
         {
             IFileHandler hnd = FileHandlerAddonType.FindFileHandler(new DiskFile(fn), han => han.Caps.OpenDatabase);
             if (hnd != null)
             {
                 return(hnd.OpenDatabase());
             }
         }
         throw new CommandLineError("DAE-00268 Not registered dbfile extension, file must have extension .con, or one of listed in command \"daci list dbfilehandler\"");
     }
     throw new CommandLineError("DAE-00269 You must provide one of driver or dbfile parameters");
 }