etl 获取列数据类型
QueryInfo info = new QueryInfo();
info.CustomSQL = @" select
column_name,
data_type,
data_precision,
data_scale,
nvl((select t_s.comments
from all_col_comments t_s
where t_s.column_name = t.column_name
and t_s.table_name ='ccr_company_fundamental'
),column_name)
comments
from all_tab_columns t
where
table_name = upper('ccr_company_fundamental')
and data_type='NUMBER'";
DataTable table1 = Dao.ExcuteDataSet(info).Tables[0];
StringBuilder sb1 = new StringBuilder();
string type = "";
int scale = 0;
string real_type = "";
int index = 0;
string column_name = "";
foreach (DataRow row in table1.Rows)
{
column_name = row["COLUMN_NAME"].ToString();
type = row["DATA_TYPE"].ToString();
int.TryParse(row["data_scale"].ToString(), out scale);
switch (type)
{
case "NUMBER":
if (scale <= 0)
sb1.AppendLine(string.Format("new Excel2DataMap {{ MapIndex ={0}, ColumnName = '{1}', DataType = ConstEnum.DataTypeDimesion.整形 }},", index++, column_name));
else
{
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.浮点型 }}),", index++, column_name));
}
break;
case "NVARCHAR2":
case "VARCHAR2":
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.字符串 }}),", index++, column_name));
break;
case "DATE":
sb1.AppendLine(string.Format("(new Excel2DataMap {{ MapIndex ={0}, ColumnName = \"{1}\", DataType = ConstEnum.DataTypeDimesion.日期 }}),", index++, column_name));
break;
}
}
return;
最新文章
- [译] 企业级 OpenStack 的六大需求(第 2 部分):开放架构和混合云兼容
- 源码安装apache
- 解决Win7下UAC开启时无法响应WM_DROPFILES消息
- C# 中间语言、CLR、CTS、CLS
- oracle merge用法
- java-分页之页面分页
- linux下 链接 sqlserver数据库 驱动的安装
- python3实现邮件发送程序
- codevs 1183 泥泞的道路 01分数规划
- Jquery和Javascript对象之间的转换
- OC--初始化UINavigationController
- 新的一年新的变化!IT的大变天
- Java 基于WebMagic 开发的网络爬虫
- for循环中变量的作用域问题
- IdentityServer4【Topic】之保护APIs
- A1108. Finding Average
- Django中模板使用
- C#设计模式(12)——享元模式(Flyweight Pattern)(转)
- P2233 [HNOI2002]公交车路线
- 如何对oracle数据库进行监控检查