예제 #1
0
        public static IEnumerable <ObjectsAndProperties> getObjectProperties(string vCurrCloudName, string vObjName)
        {
            CloudProperties vCurrCloud = vCloudList.Find(item => item.CloudName == vCurrCloudName);
            string          vSqlURL;

            vSqlURL = prepareCloudQuery(vCurrCloudName, in2SqlLibrary.getCloudColumns(vCurrCloud.CloudType));
            var vTb1 = vObjName.Split('.');

            vSqlURL = vSqlURL.Replace("%TNAME%", vTb1[1]);
            vSqlURL = vSqlURL.Replace("%TOWNER%", vTb1[0]);

            ObjectsAndProperties vObject = new ObjectsAndProperties();

            vObject.ObjName    = vCurrCloudName + '.' + vObjName;
            vObject.objColumns = new List <string>();

            List <String> vObjects = new List <String>();

            vObjects.AddRange(In2SqlSvcTool.HttpGetArray(vSqlURL));
            int i = 0;

            foreach (var vCurrObj in vObjects)
            {
                i += 1;
                if (i < 2)
                {
                    continue;
                }
                vObject.objColumns.Add(vCurrObj.ToString().Replace('"', ' ').Trim());
            }

            yield return(vObject);
        }
예제 #2
0
        public static IEnumerable <ObjectsAndProperties> getObjectProperties(string vOdbcName, string vObjName)
        {
            string vDBType = getODBCProperties(vOdbcName, "DBType");
            string vSql    = in2SqlLibrary.getSQLTableColumn(vDBType);

            var vTb1 = vObjName.Split('.');

            if (vDBType.Contains("ORACLE"))
            {
                vSql = vSql.Replace("%TNAME%", vTb1[1]);
            }
            else if (vDBType.Contains("CH"))
            {
                vSql = vSql.Replace("%TNAME%", vTb1[1]);
                vSql = vSql.Replace("%TOWNER%", vTb1[0]);
            }
            else
            {
                vSql = vSql.Replace("%TNAME%", vObjName);
            }

            var vObjects = SqlReadDataValue(vOdbcName, vSql);
            ObjectsAndProperties vObject = new ObjectsAndProperties();

            vObject.ObjName    = vOdbcName + '.' + vObjName;
            vObject.objColumns = new List <string>();

            foreach (var vCurrObject in vObjects)
            {
                vObject.objColumns.Add(vCurrObject);
            }

            vSql = in2SqlLibrary.getSQLIndexes(vDBType);

            if (vDBType.Contains("ORACLE"))
            {
                vSql = vSql.Replace("%TNAME%", vTb1[1]);
            }
            else if (vDBType.Contains("CH"))
            {
                vSql = vSql.Replace("%TNAME%", vTb1[1]);
                vSql = vSql.Replace("%TOWNER%", vTb1[0]);
            }
            {
                vSql = vSql.Replace("%TNAME%", vObjName);
            }

            vObjects           = SqlReadDataValue(vOdbcName, vSql);
            vObject.objIndexes = new List <string>();

            foreach (var vCurrObject in vObjects)
            {
                vObject.objIndexes.Add(vCurrObject);
            }


            vSql = in2SqlLibrary.getSQLDependencies(vDBType);
            if (vDBType.Contains("ORACLE"))
            {
                vSql = vSql.Replace("%TOWNER%", vTb1[1]);
                vSql = vSql.Replace("%TNAME%", vTb1[1]);

                vObjects = SqlReadDataValue(vOdbcName, vSql);
                vObject.objDependencies = new List <string>();

                foreach (var vCurrObject in vObjects)
                {
                    vObject.objDependencies.Add(vCurrObject);
                }
            }


            yield return(vObject);
        }