您的位置:首页 > 数据库 > Oracle

用CodeSmith编写模板导出Oracle中表的数据

2006-11-21 11:16 288 查看
最近看了一下CodeSmith发现破玩意儿功能还真的强大的,尤其是自定义模板的功能,以后就不用重复的去写DAL层的那些代码了,怎么写也写不出什么新意,而且还很枯燥。
安装3.2版后发现里面有个ScriptTableData.cst模板,可以将SQL Server表中的数据导出到一个文件以Insert Table(col1,col2...coln)values(val1,val2...,val3),但是这个模板对Oracle数据库无效,因为PL-SQL和T-SQL语法毕竟有很多不同的。于是决定自己写一个类似的适用于Oracle的模板,其实基本和自带的那个模板差不多,只是有些语法有些不同而已。
CodeSmith默认没有Oracle的提供程序的,需要在CodeSmith的论坛下载之,网址是http://community.codesmithtools.com/files/folders/schemaproviders/entry8631.aspx,不过下载需要注册的,如果你嫌注册太麻烦,可以发邮件给我,我发给你。有了提供程序就可以按照上面的说明文档配置,成功后就可以用CodeSmith连接到Oracle数据中的表,连接成功后进行一下的操作:
1、新建一个空模板。
2、在模板的开始加入下面的声明:

6--Created <%=DateTime.Now %>
3、导出表数据的主要语句:

insert into <%=GetTableOwner() %><%=SourceTable.Name %>(<%=AllColumns %>)
3values (<%=AllDate(intRow) %>);
4<%}%>
4、其他相关自定义函数

<script runat="template">
2private DataTable _sourceTableData;
3private string _allColumns;
4private string _allData;
5
6
21
42
56
83public string GetTableOwner()
84
88public string GetTableOwner(bool includeDot)
89
100</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: