public static DBMSContext CreateDBMSContext(DBMSPlatformEnum platform) { switch (platform) { case DBMSPlatformEnum.Access: return(new Zen.DBMS.Access.AccessContext()); case DBMSPlatformEnum.DB2: return(new Zen.DBMS.DB2.DB2Context()); case DBMSPlatformEnum.MySql: return(new Zen.DBMS.MySql.MySqlContext()); case DBMSPlatformEnum.SqlServer: return(new Zen.DBMS.SqlServer.SqlSvrContext()); case DBMSPlatformEnum.SqlCe: return(new Zen.DBMS.SqlCe.SqlCeContext()); case DBMSPlatformEnum.Sqlite: return(new Zen.DBMS.Sqlite.SqliteContext()); case DBMSPlatformEnum.Oracle: return(new Zen.DBMS.Oracle.OracleContext()); case DBMSPlatformEnum.OleDB: return(new OleDBContext()); case DBMSPlatformEnum.ODBC: return(new ODBCContext()); default: return(null); } }
private void ConnectEmbedded(DBMSPlatformEnum dbmsEnum) { IDataSource svr = TryConnectDatasource(dbmsEnum); if (svr == null) { return; } IDBObjectTree tree = null; switch (dbmsEnum) { case DBMSPlatformEnum.Access: tree = new AccessObjectTree(svr.GetTableLister()); break; case DBMSPlatformEnum.SqlCe: tree = new SqlCeObjectTree(svr.GetTableLister()); break; case DBMSPlatformEnum.Sqlite: tree = new SqliteObjectTree(svr.GetTableLister()); break; } tree.DataSource = svr; tree.Root.Id = Path.GetFileNameWithoutExtension(svr.DataSource); _dbExplorer.AttachSubTree(dbmsEnum, tree); }
/// <summary> /// /platform -> serverName -> connection string /// </summary> public Dictionary <string, string> GetServerConnectionList(DBMSPlatformEnum dbms) { if (_svrConnectionList == null) { _svrConnectionList = new Dictionary <DBMSPlatformEnum, Dictionary <string, string> >(); } return(Macros.SafeGetNew(_svrConnectionList, dbms)); }
public SchemaBuilder(DBMSPlatformEnum dbmsPlatform, IDataTypeDictionary dtMap) { _dbmsPlatform = dbmsPlatform; _dtMap = dtMap; _LowVersion = Version.MINVERSION; // no version filter by default _HighVersion = Version.MAXVERSION; _context = new SchemaContext(); }
public static void AppendBatch(ref StringBuilder strTarget, string strSrc, DBMSPlatformEnum dbmsPlatform) { strTarget.Append(strSrc); if (dbmsPlatform == DBMSPlatformEnum.SqlServer) { strTarget.Append(KWD.SQLSVR_BD); } else { strTarget.Append(KWD.ORACLE_BD); } }
public void AttachSubTree(DBMSPlatformEnum dbmsEnum, IDataTableTree dataSourceTree) { DataNode <string, Cell> dataRoot = dataSourceTree.Root; if (dataRoot.Children.Count < 1) { return; } TreeNode dbmsRoot = AddDBMSRoot(dbmsEnum); TreeNode subTreeRoot = dbmsRoot.Nodes.Add(dataRoot.Id); AddChildNodes(subTreeRoot, dataRoot.Children.Values, dataSourceTree); }
public void AttachSubTree(DBMSPlatformEnum dbmsEnum, DataNode <string, Cell> root, IEnumerable <IDataTableTree> subTrees) { TreeNode dbmsRoot = AddDBMSRoot(dbmsEnum); TreeNode dataSourceRoot = dbmsRoot.Nodes.Add(root.Id); foreach (IDataTableTree objTree in subTrees) { DataNode <string, Cell> dataRoot = objTree.Root; if (dataRoot.Children.Count > 0) { TreeNode subTreeRoot = dataSourceRoot.Nodes.Add(dataRoot.Id); AddChildNodes(subTreeRoot, dataRoot.Children.Values, objTree); } } }
public List <string> GetDataSources(DBMSPlatformEnum dbms) { if (_svrLists == null) { _svrLists = new Dictionary <DBMSPlatformEnum, List <string> >(); } List <string> svrList = null; if (!_svrLists.TryGetValue(dbms, out svrList)) { svrList = _contexts[dbms].GetDataSources(); _svrLists.Add(dbms, svrList); } return(svrList); }
private TreeNode AddDBMSRoot(DBMSPlatformEnum dbmsEnum) { TreeNode dbmsRoot = null; string dbmsName = dbmsEnum.ToString(); if (_rootNode.Nodes.ContainsKey(dbmsName)) { dbmsRoot = _rootNode.Nodes[dbmsName]; } else { dbmsRoot = _rootNode.Nodes.Add(dbmsName, dbmsName); dbmsRoot.ImageIndex = 4; dbmsRoot.SelectedImageIndex = dbmsRoot.ImageIndex; } return(dbmsRoot); }
/// <summary> /// Show connection dialog and return a valid datasource if succeeded. /// </summary> private IDataSource TryConnectDatasource(DBMSPlatformEnum dbmsEnum) { DBMSContext context = _instance.GetDBMSContext(dbmsEnum); DBLoginInfo login = context.CreateDBLoginInfo(); PropertyDlg dlg = new PropertyDlg("Connect to " + dbmsEnum.ToString()); ObjValueLabelHint hint = null; List <string> dataSources = _instance.GetDataSources(dbmsEnum); if (dataSources != null && dataSources.Count > 0) { hint = new ObjValueLabelHint(); hint.ValueHints = new Dictionary <string, IEnumerable <string> >(); hint.ValueHints.Add("DataSource", dataSources); } dlg.AddOption(login, hint); if (dlg.ShowDialog() != DialogResult.OK) { return(null); } IDataSource svr = context.CreateDatasource(login.ConnectionString); if (!svr.TestConnection()) { MessageBoxEx.ShowError(svr.LastErrorMessage, "Connection Failed"); return(null); } // Remember the connection Dictionary <string, string> connectionList = _instance.GetServerConnectionList(dbmsEnum); Macros.SafeAdd(connectionList, login.DataSource, login.ConnectionString); return(svr); }
private string ToDatasourceListFile(DBMSPlatformEnum dbEnum) { return(DatasourceListFile + "." + dbEnum.ToString()); }
private string ToSvrConnectionListFile(DBMSPlatformEnum dbEnum) { return(SvrConnListFile + "." + dbEnum.ToString()); }
public DBMSContext GetDBMSContext(DBMSPlatformEnum dbms) { return(_contexts[dbms]); }
protected void AppendBatch(ref StringBuilder strTarget, string strSrc, DBMSPlatformEnum dbmsPlatform) { Anonymous.AppendBatch(ref strTarget, strSrc, dbmsPlatform); }