自动创建orcl表

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using Holworth.Utility;

namespace ConsoleApplication22
{
public enum OrclType
{
字段 = 0,
类型 = 1,
长度 = 2
};

class Program
{
/// <summary>
/// dic字典用于存储特征类型在Excel中的列索引,后续得到使用子段列对应的值是便可通过此字典进行抽象
/// </summary>
static Dictionary<string, int> dic = new Dictionary<string, int>();
static void Main(string[] args)
{
string path = @"d:\rskbook.xls";
string fileName = @"Sheet1$";
DataTable dt = ExcelUtil.GetExcelSheetContent(path, fileName);

DataRow dr = dt.Rows[0];
for (int i = 0; i < dt.Columns.Count; i++)
{
string columnName = dr[i].ToString();
if (columnName == OrclType.字段.ToString())
{
dic.Add(columnName, i);
}
if (columnName == OrclType.类型.ToString())
{
dic.Add(columnName, i);
}
if (columnName == OrclType.长度.ToString())
{
dic.Add(columnName, i);
}
}

StringBuilder sb = new StringBuilder();
sb.AppendFormat(string.Format("create table tab1\r\n("));

for (int i = 1; i < dt.Rows.Count; i++)
{
DataRow row = dt.Rows[i];
int FiledIndex = getColIndex(OrclType.字段);
int TypeIndex = getColIndex(OrclType.类型);
string LengthStr = "";
if (row[TypeIndex].ToString() != "date" && row[getColIndex(OrclType.长度)].ToString().Trim() != "")
LengthStr += "(" + row[getColIndex(OrclType.长度)] + ")";
if (i != dt.Rows.Count - 1)
sb.AppendFormat(string.Format("{0} {1},", row[FiledIndex], row[TypeIndex].ToString() + LengthStr));
else
{
sb.AppendFormat(string.Format("{0} {1}", row[FiledIndex], row[TypeIndex].ToString() + LengthStr));
}
sb.Append("\r\n");
}
sb.AppendFormat(@")");
Console.WriteLine(sb.ToString());
Console.ReadKey();
}

public static int getColIndex(OrclType col)
{
return dic[col.ToString()];
return 0;
}
}
}

时间: 2024-08-09 06:34:53

自动创建orcl表的相关文章

SpringBoot+Mybatis 自动创建数据表(适用mysql)

Mybatis用了快两年了,在我手上的发展史大概是这样的 第一个阶段 利用Mybatis-Generator自动生成实体类.DAO接口和Mapping映射文件.那时候觉得这个特别好用,大概的过程是这样的 在数据库中先建好表配置好几个xml文件(一般都是复制粘贴上一个项目的),然后根据数据库中的表,生成实体类.DAO接口和Mapping映射文件当需要添加数据操作的时候,先在xml中写好CRUD语句,然后在DAO接口层写接口,最后到映射文件渐渐地,我忽然发现,这种方式越来越烦.改一个字段,要修改很多

使用hibernate自动创建Mysql表失败原因

1.使用 schemaExport(hibernate5.2.3)创建Mysql表 @Test public void testSchemaExport() { ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build(); Metadata metadata = new MetadataSources(serviceRegistry).buildMetadata(); Sch

Mysql数据库一个小程序实现自动创建分表。

每当跨月的时候也是系统出问题最多的时候,没有表和字段缺失是两个最常见的错误. 为了解决这个问题,研究了一下mysql的 information_schema 表: information_schema这张数据表保存了MySQL服务器所有数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问权限等. 再简单点,这台MySQL服务器上,到底有哪些数据库.各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面. OK!事

hibernate自动创建表失败

今天在使用hibernate自动创建数据库表的时候,有一个表始终无法创建,但是其他的表都创建成功了.开始以为是spring没有扫描到该实体类,检查了配置文件后发现没有问题.后来用log4j把info信息打印出来发现创建该表的时候报错了.原来是字段里面有mysql的关键字(order)导致了创建失败. mysql关键字: ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CAL

多级指标打分表单自动创建JavaScript代码解析

为了解释按多级指标自动创建打分表的设计,以及相关指标考核打分业务,写了Demo代码供开发人员参考,主要涉及到Table动态操作技术及算法实践. 1. HTML DOM Table 对象操作 1.1. 插入一行 使用HTML DOM insertRow() 方法,insertRow(index) 方法用于在表格中的指定位置插入一个新行. 若 index 等于表中的行数,则新行将被附加到表的末尾. 1.2. 插入单元格 使用HTML DOM insertCell() 方法,insertCell()

Hibernate/JPA 自动创建数据库(MySQL)

平时使用Hibernate/JPA映射MySQL时,经常使用到自动创建数据表操作,自动创建MySQL数据库比较少见. 实际上也可以同时创建数据库,修改一下连接配置即可. 常见的配置如下(以Spring Boot中配置方式为例): spring.datasource.url=jdbc:mysql://localhost:3306/dbname?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false

hibernate自动创建表

配置自动创建表: <prop key="hibernate.hbm2ddl.auto">update</prop>//首次创建项目时用,项目稳定后一般注释 这里有是个值: update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表:如果表里缺少列,则自动添加列. 还有其他的参数: create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失. create-d

oracle11g interval(numtoyminterval())自动创建表分区

Oracle11g通过间隔分区实现按月创建表分区 在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理.由于表中的数据是历史交易,故按月分区,提升查询和管理. 由于之前对于表分区了解不多,为了实现上述功能查了很多资料,一开始的方向是通过Crontab调用Shell脚本来按月自动创建分区,或者使用Oracle的Job调用存储过程来自动创建分区.在研究上述两套方案的过程中,无意发现Oracle11g有间隔分区功能,对于使用Range分区的可以按年,月,日来自动生成分区.语法如下: ?

Mybatis自动创建表/更新表结构

最近有小伙伴问我mybatis有没有自动创建表结构的功能,因为他们之前一直使用hibernate用习惯了,理所当然的认为,在实体类上配置下注解或者写写映射文件,系统启动后就可以自动创建表. 我只能很遗憾的告诉他,mybatis并没有这个功能,看他兴致阑珊的样子,我只能安慰他,就算没有这功能,我们可以自己开发啊~~ 所以就有了下面这套系统,已开源大家可以下来看看~~ Mybatis_BuildTable_V0.2 https://git.oschina.net/sunchenbin/Mybatis