Exemplo n.º 1
0
 public List <DataAttrEntity> Read(string connstr, int OracleDB)
 {
     try
     {
         using (OracleConnection oc = new OracleConnection(ConnectionDB.ConnectionOracleDB(OracleDB)))
         {
             oc.Open();
             List <DataAttrEntity> Entity = new List <DataAttrEntity>();
             if (oc.State == ConnectionState.Open)
             {
                 Console.WriteLine("数据库连接打开");
                 OracleCommand    comm = new OracleCommand(connstr, oc);
                 OracleDataReader read = comm.ExecuteReader();
                 while (read.Read())
                 {
                     DataAttrEntity attribute = new DataAttrEntity();
                     attribute.ColumnName = (string)read["ColumnName"];
                     attribute.TypeLength = (decimal)read["TypeLength"];
                     attribute.ValueType  = (string)read["ValueType"];
                     Entity.Add(attribute);
                 }
                 return(Entity);
             }
             throw new Exception("ORACLE数据库连接失败!");
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 2
0
        public void VolidOracleToOracle(string TableName, DataAttrEntity AOracle, DataAttrEntity BOracle, string SaveAddress)
        {
            var Write = new WriteOutput("ORACLE");

            if (AOracle.ColumnName != BOracle.ColumnName)
            {
                //生成为boracle添加的语句

                if (AOracle.ValueType != "DATE" && AOracle.ValueType != "LONG" && AOracle.ValueType != "LONG RAW" && AOracle.ValueType != "BLOB" && AOracle.ValueType != "CLOB" && AOracle.ValueType != "NCLOB")
                {
                    Write.Write(string.Format("ALTER TABLE {0} ADD {1} {2}({3}) ", TableName, AOracle.ColumnName, AOracle.ValueType, AOracle.TypeLength), "ORACLE", SaveAddress);
                }
                else
                {
                    Write.Write(string.Format("ALTER TABLE {0} ADD {1} {2} ", TableName, AOracle.ColumnName, AOracle.ValueType), "ORACLE", SaveAddress);
                }
            }
            else
            {
                if (AOracle.ValueType != AOracle.ValueType)
                {
                    ValidDataType(TableName, AOracle, Write, SaveAddress);
                }
                else
                {
                    if (AOracle.TypeLength != AOracle.TypeLength)
                    {
                        ValidDataType(TableName, AOracle, Write, SaveAddress);
                        //Write.Write(string.Format("ALTER TABLE {0} MODIFY {1} {2}({3})", TableName, AOracle.ColumnName, AOracle.ValueType, AOracle.TypeLength));
                    }
                }
            }
        }
Exemplo n.º 3
0
 public List <DataAttrEntity> Read(string commstr, int MSSQLDB)
 {
     try
     {
         List <DataAttrEntity> Entity = new List <DataAttrEntity>();
         using (SqlConnection sc = new SqlConnection(ConnectionDB.ConnectionMSSqlDB(MSSQLDB)))
         {
             sc.Open();
             if (sc.State == ConnectionState.Open)
             {
                 SqlCommand    comm = new SqlCommand(commstr, sc);
                 SqlDataReader read = comm.ExecuteReader();
                 while (read.Read())
                 {
                     DataAttrEntity attribute = new DataAttrEntity();
                     attribute.ColumnName = (string)read["ColumnName"];
                     attribute.TypeLength = (Int16)read["TypeLength"];
                     attribute.ValueType  = (string)read["ValueType"];
                     Entity.Add(attribute);
                 }
                 return(Entity);
             }
             throw new Exception("MSSQL数据库连接失败!");
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 4
0
        public void VolidAddMSSql(string TableName, DataAttrEntity Oracle, string SaveAddress)
        {
            var WL = new WriteOutput("MSSql");

            if (Oracle.ValueType == "CHAR")
            {
                //判断是什么字段然后根据大小处理成可调用的mssql语句

                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "CHAR", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "VARCHAR2")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "VARCHAR", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "NCHAR")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "NCHAR", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "NVARCHAR2")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "NVARCHAR", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "DATE" || Oracle.ValueType == "DATETIME")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n  ADD {1} {2}", TableName, Oracle.ColumnName, "DATETIME"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "LONG")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ", TableName, Oracle.ColumnName, "TEXT"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "RAW")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "VARBINARY", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "LONG RAW")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "VARBINARY", Oracle.TypeLength), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "BLOB")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2}", TableName, Oracle.ColumnName, "IMAGE"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "CLOB")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2}", TableName, Oracle.ColumnName, "TEXT"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "NCLOB")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2}", TableName, Oracle.ColumnName, "TEXT"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "NUMBER")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2}", TableName, Oracle.ColumnName, "INT"), "MSSql", SaveAddress);
            }
            else if (Oracle.ValueType == "DECIMAL")
            {
                WL.Write(string.Format("ALTER TABLE {0}\r\n ADD {1} {2} ({3})", TableName, Oracle.ColumnName, "DECIMAL", Oracle.TypeLength), "MSSql", SaveAddress);
            }
        }
Exemplo n.º 5
0
 /// <summary>
 /// 验证字段类型,输出是否包含类型长度的语句
 /// </summary>
 /// <param name="TableName"></param>
 /// <param name="AOracle"></param>
 /// <param name="Write"></param>
 private static void ValidDataType(string TableName, DataAttrEntity AOracle, WriteOutput Write, string SaveAddress)
 {
     if (AOracle.ValueType != "DATE" && AOracle.ValueType != "LONG" && AOracle.ValueType != "LONG RAW" && AOracle.ValueType != "BLOB" && AOracle.ValueType != "CLOB" && AOracle.ValueType != "NCLOB")
     {
         Write.Write(string.Format("ALTER TABLE {0} MODIFY {1} {2}({3})", TableName, AOracle.ColumnName, AOracle.ValueType, AOracle.TypeLength), "ORACLE", SaveAddress);
     }
     else
     {
         Write.Write(string.Format("ALTER TABLE {0} MODIFY {1} {2}", TableName, AOracle.ColumnName, AOracle.ValueType), "ORACLE", SaveAddress);
     }
 }
Exemplo n.º 6
0
        public void VolidAddOracle(string TableName, DataAttrEntity AOracle, string SaveAddress)
        {
            var Write = new WriteOutput("ORACLE");

            if (AOracle.ValueType != "DATE" && AOracle.ValueType != "LONG" && AOracle.ValueType != "LONG RAW" && AOracle.ValueType != "BLOB" && AOracle.ValueType != "CLOB" && AOracle.ValueType != "NCLOB")
            {
                Write.Write(string.Format("ALTER TABLE {0} ADD {1} {2}({3}) ", TableName, AOracle.ColumnName, AOracle.ValueType, AOracle.TypeLength), "ORACLE", SaveAddress);
            }
            else
            {
                Write.Write(string.Format("ALTER TABLE {0} ADD {1} {2} ", TableName, AOracle.ColumnName, AOracle.ValueType), "ORACLE", SaveAddress);
            }
        }
Exemplo n.º 7
0
 public void RAWFunc(string TableName, DataAttrEntity Blist, string SaveAddress)
 {
     if (Blist.ValueType == "VARBINARY")
     {
         //类型相同,不需要更改
     }
     else
     {
         //生成alter table name,等语句,写入到文件中
         string commtext = String.Format("\r\n alter table {0} \r\n alter column {1} {2} {3}", TableName, Blist.ColumnName, "VARBINARY", Blist.TypeLength);
         Write.Write(commtext, "MSSql", SaveAddress);
     }
 }
Exemplo n.º 8
0
 public void DATEFunc(string TableName, DataAttrEntity Blist, string SaveAddress)
 {
     if (Blist.ValueType == "DATETIME" || Blist.ValueType == "DATE")
     {
         //类型相同,不需要更改
     }
     else
     {
         string commtext = String.Format("\r\n alter table {0} \r\n alter column {1} {2}", TableName, Blist.ColumnName, "DATETIME");
         Write.Write(commtext, "MSSql", SaveAddress);
         //生成alter table name,等语句,写入到文件中
     }
 }
Exemplo n.º 9
0
 public void NCLOBFunc(string TableName, DataAttrEntity Blist, string SaveAddress)
 {
     if (Blist.ValueType == "TEXT" || Blist.ValueType == "VARCHAR")
     {
         //类型相同,不需要更改
     }
     else
     {
         //生成alter table name,等语句,写入到文件中
         string commtext = String.Format("\r\n alter table {0} \r\n alter column {1} {2}", TableName, Blist.ColumnName, "TEXT");
         Write.Write(commtext, "MSSql", SaveAddress);;
     }
 }
Exemplo n.º 10
0
 public void LONGRAWFunc(string TableName, DataAttrEntity Blist, string SaveAddress)
 {
     if (Blist.ValueType == "VARBINARY" || Blist.ValueType == "IMAGE")//varbinary/image(判断字节大小)
     {
         //类型相同,不需要更改
     }
     else
     {
         //生成alter table name,等语句,写入到文件中
         string commtext = String.Format("\r\n alter table {0} \r\n alter column {1} {2}", TableName, Blist.ColumnName, "IMAGE");
         Write.Write(commtext, "MSSql", SaveAddress);;
     }
 }
Exemplo n.º 11
0
        public void VolidOracleToMSSql(string TableName, DataAttrEntity Oracle, DataAttrEntity MSSql, string SaveAddress)
        {
            string       a   = string.Empty;
            ValidColumns com = new ValidColumns();

            switch (Oracle.ValueType)
            {
            case "CHAR":
                com.CHARFunc(TableName, MSSql, SaveAddress);
                break;

            case "VARCHAR2":
                com.VARCHAR2Func(TableName, MSSql, SaveAddress);
                break;

            case "NCHAR":
                com.NCHARFunc(TableName, MSSql, SaveAddress);
                break;

            case "NVARCHAR2":
                com.NVARCHAR2Func(TableName, MSSql, SaveAddress);
                break;

            case "DATE":
                com.DATEFunc(TableName, MSSql, SaveAddress);
                break;

            case "LONG":
                com.LONGFunc(TableName, MSSql, SaveAddress);
                break;

            case "RAW":
                com.RAWFunc(TableName, MSSql, SaveAddress);
                break;

            case "LONG RAW":
                com.LONGRAWFunc(TableName, MSSql, SaveAddress);
                break;

            case "BLOB":
                com.BLOBFunc(TableName, MSSql, SaveAddress);
                break;

            case "CLOB":
                com.CLOBFunc(TableName, MSSql, SaveAddress);
                break;

            case "NCLOB":
                com.NCLOBFunc(TableName, MSSql, SaveAddress);
                break;

            case "NUMBER":
                com.NUMBERFunc(TableName, MSSql, SaveAddress);
                break;

            case "DECIMAL":
                com.DECIMALFunc(TableName, MSSql, SaveAddress);
                break;

            default:
                break;
            }
        }