说明
SqlCommetTools是前一段时间为公司C/S研发做的, SqlServer注释同步工具. 将C++头文件中的注释同步到SQL Server表中.
代码可以从github中获取:
https://github.com/lvjian700/SqlCommetTools
使用到的技术:
- ruby: 用来分析C++文件的语法
- java: 用来进行数据库操作
- Ant: 用来执行ruby和java代码
程序结构说明
headers/*.h 为待处理的C++头文件, 该文件中映射了数据库表结构. 并且每个属性后面都有单行注释
ruby/analyze.rb 程序为C++头文件分析程序, 分析C++中的语法, 提取Struts名称, 字段名称-注释. 并且生成相应的json文件.
src/ 目录下是Java程序, 用来分析ruby生成的json数据, 将注释更新到数据库中.
环境说明
- ruby-1.9.2
- JDK 1.6
- Ant 1.8
- Sql Server 2005 (其他Sql Server 版本未测试)
使用说明
1.clone项目
git://github.com/lvjian700/SqlCommetTools.git
2.安装ruby依赖
cd SqlCommetTools/ruby
bundle install
3.运行Ant脚本
cd SqlCommetTools
ant
核心代码说明
使用ruby分析C++程序语法
1.原理
- 逐行读取C++源码文件
- 使用正则表达式匹配Struct, 属性, 注释
2.ruby中逐行读取文件
File.open(File.dirname(__FILE__) + "/../headers/dyulctaskdefine.h").each_line do |line |
# do something....
end
3.使用正则表达式匹配Struct,属性,注释
File.open(File.dirname(__FILE__) + "/../headers/dyulctaskdefine.h").each_line do |line |
#match Struct
structMatch = /^struct\s+(\w+)/.match(line)
structName = structMatch[1]
#match 属性, 注释
propMatch = /(\w*);\s*\/{2}([^x00-xff]*)\n/.match(line)
propName = propMatch[1]
propComment = propMatch[2]
end
如何使用sql语句修改数据库注释
--表及字段描述信息处理示例
--创建表
create table 表(a1 varchar(10),a2 char(2))
--为表添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'table', N'表', NULL, NULL
--为字段a1添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', N'表', N'column', N'a1'
--为字段a2添加描述信息
EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'table', N'表', N'column', N'a2'
--更新表中列a1的描述属性:
EXEC sp_updateextendedproperty 'MS_Description','字段1','user',dbo,'table','表','column',a1
--显示表的描述属性
SELECT *
FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', '表', 'column', NULL)
--删除表中列a1的描述属性:
EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',a1
--删除测试
drop table 表
分享到:
相关推荐
在本文中,我们将围绕Ruby和Java这两种编程语言如何应用于搜索引擎的构建,以及搜索引擎的核心原理进行详尽的探讨。 一、搜索引擎概述 搜索引擎是互联网信息时代的关键工具,它通过爬取、索引和检索大量网页,为...
标题和描述中提到的"此存储库包含Ruby、C、C++、Python和Java中问题的各种解决方案。_C++_Java_下载.zip"表明这是一个软件开发相关的资源集合,特别是针对五种编程语言:Ruby、C、C++、Python和Java。这个压缩包很...
本书涉及网络数据挖掘、搜索引擎原理、编译原理、数据库原理、正则表达式、软件工程、设计模式、Ruby语言、HTTP协议等计算机科学与技术的知识,适合搜索引擎开发人员作为参考,也适合有一定计算机基础的读者阅读,以...
Rails的ORM(对象关系映射)层,允许开发者用Ruby对象操作数据库。每个模型类对应数据库表,实例方法对应SQL查询。例如,`Book.find_by(title: '某书名')`会查找标题为指定值的书籍。 9. ** erb模板** ERB...
标题中的“ruby生成java文件的工具”指的是使用Ruby编程语言编写的一种工具,它能够自动生成Java源代码。这种工具通常用于提高开发效率,特别是在需要大量重复性代码的情况下,如数据访问对象(DAO)、控制器...
在描述中同样只给出了简短的 "ruby javatoc++",我们可以推测讨论的是使用Ruby脚本处理Java与C++之间的转换。标签重复了多次,强调了这个主题的核心关键词。 在这样的背景下,我们可以详细探讨以下几个相关的知识点...
系统环境配置包括 Tomcat8.0 + JDK1.8 + Windows 10 + Ruby + Node.js,开发语言包括 JAVA、CoffeeScript、SCSS,数据库使用 MySQL,开发环境包括 Eclipse、Grunt。 系统的优势在于方便、简单、舒适、实用在线,...
功能: 自动与sqlite3数据库做连接 数据的插入,查询,删除、更新操作 数据库建立与表建立 支持关于where语句查询的自动拼接。...13. 支持多种开发语言,C, C++, PHP, Perl, Java, C#,Python, Ruby等
在Ruby编程语言中,连接和操作Oracle数据库通常需要利用Ruby的数据库接口模块Ruby/DBI以及Oracle调用接口(OCI8)库。由于没有纯Ruby的Oracle瘦驱动,开发人员必须借助于OCI8这个C语言编写的Ruby包装器,它实现了与...
### 巧用Ruby配备Oracle数据库的关键知识点 #### 一、Ruby与Oracle数据库的连接机制 在探讨如何利用Ruby与Oracle数据库高效协作之前,我们首先需要理解两种常见的Oracle数据库驱动程序:纯Java驱动程序(瘦驱动)...
1.2用户帮助和技术支持.....................................................................................................14 1.3 DB2服务器................................................................
在Ruby开发中,有时我们需要与Oracle数据库进行交互,特别是在企业级应用中,Oracle数据库因其强大的稳定性和可扩展性而被广泛使用。本文将探讨如何在Ruby on Rails框架中配置Oracle数据库,以及解决相关的验证和...
在 Spring Boot 中,可以使用 Spring Data MongoDB 来操作 MongoDB 数据库。 聚合 MongoDB 中的聚合操作主要是用于对数据进行批量处理和聚合操作。MapReduce 是 MongoDB 中的一种聚合操作方式。Map 函数调用 emit...
[Ruby_on_Rails][資料庫]_03._[Windows]_MySQL安裝
在安装和配置 Ruby on Rails 和 MySQL 数据库的过程中,可能会遇到一些问题。例如,在创建 POSTS 应用时可能会遇到问题,创建数据后数据库中有数据,但是到 Listing posts 界面无法查看,总是报错。解决方法是下载 ...
本资源汇总将详细介绍如何使用Ruby进行数据库连接,尤其是通过Ruby/DBI库。 首先,我们来了解一下Ruby/DBI(Database Independent Interface)。Ruby/DBI 是一个符合 DBI 模式(数据库独立接口)的库,它提供了一个...
在Ubuntu 11.04环境中,安装MySQL数据库是部署Ruby on Rails应用的重要步骤之一。首先,通过打开终端并执行以下命令进行安装: ```bash sudo apt-get install mysql-server ``` 在安装过程中,系统会提示输入MySQL...
同时,要为Rails应用和数据库连接设置正确的文件权限和用户权限。 9. **配置**: 编写Rails应用的配置文件(如`database.yml`),指定Oracle数据库的连接参数。在Nginx的配置文件中,配置Passenger模块以处理Rails...
在IT行业中,数据库连接是开发过程中的重要环节,特别是在使用编程语言如Ruby进行Web开发时。本篇文章将深入探讨如何使用Ruby与Drizzle数据库建立连接,以及相关的源码和工具应用。 Ruby是一种动态、面向对象的编程...