使用文本型数据库

转载 2012年12月07日 14:50:20

大笑微笑生气吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头生气微笑大笑


偷笑我爱北京天安门偷笑


偷笑天安门上太阳升偷笑


偷笑伟大领袖毛主席偷笑


偷笑指引我们向前进偷笑

偷笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑偷笑

用<i></i>&nbsp;Schema.ini<i></i>&nbsp;文件也可以达到要求。 <p></p> <p>作用:Schema.ini用于提供文本文件中记录的构架信息。每个<i></i>&nbsp;Schema.ini<i></i>&nbsp;项都用于指定表的五个特征之一:<br />1、文本文件名<br />2、文件格式<br />3、字段名、字段长度、字段类型<br />4、字符集<br />5、特别数据类型转换</p> <p></p> <p><b>指定文件名</b><br />文件名要用方括号括起来,例如如果要对<i></i>&nbsp;Sample.txt<i></i>&nbsp;使用数据构架信息文件,那么它的对应的项应该是<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%"><b>[Sample.txt]</b></td></tr></tbody></table><br /></p> <p><br /><b>指定文件格式</b><br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="15%">格式说明</th> <th width="50%">表格式</th> <th width="35%">Schema.ini 格式描述</th></tr> <tr> <td>Tab 制表符分隔</td> <td>文件中的字段用制表符分隔</td> <td>Format=TabDelimited</td></tr> <tr> <td>CSV 分隔</td> <td>文件中的字段用逗号来分隔</td> <td>Format=CSVDelimited</td></tr> <tr> <td>自定义分隔</td> <td>文件中的字段可以用任何字符来分隔,所有的字符都可以用来分隔,包括空格,但是双引号 ( <font color="red">"</font> ) 除外</td> <td> <p>Format=Delimited(自定义分隔符)</p> <p>- 或者没有分隔符 -</p> <p>Format=Delimited( )</p></td></tr> <tr> <td>固定宽度</td> <td>文件中的字段为固定长度</td> <td></td></tr></tbody></table></p> <p><br /><b>指定字段</b></p> <p>你可以有两种方法在一个字符分隔的文本文件中指定字段名</p> <p>1、在文本文件中的第一行包含字段名,并且设置<i></i>&nbsp;ColNameHeader<i></i>&nbsp;为<i></i>&nbsp;True<i></i>&nbsp;。<br />2、用数字编号指定每一列并且指定每一列的名字以及数据类型</p> <p>你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度(在固定长度分隔的文本文件中需要指定长度)</p> <p>注意,设定了<i></i>&nbsp;ColNameHeader<i></i>&nbsp;选项,在<i></i>&nbsp;Schema.ini<i></i>&nbsp;中<i></i>&nbsp;Windows<i></i>&nbsp;注册时会忽略<i></i>&nbsp;FirstRowHasNames<i></i>&nbsp;选项。</p> <p>你也可以指定字段的数据类型,使用<i></i>&nbsp;MaxScanRows<i></i>&nbsp;选项用来指定在确定列的数据类型时要扫描多少行数据。设置<i></i>&nbsp;MaxScanRows<i></i>&nbsp;为<i></i>&nbsp;0<i></i>&nbsp;将扫描整个文件。</p> <p>如果文本文件第一行包含字段名,并且要扫描整个文件,改项目就要定义如下:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">ColNameHeader=True<br />MaxScanRows=0</td></tr></tbody></table><br /></p> <p>接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。<br />示例:定义<i></i>&nbsp;2<i></i>&nbsp;个字段,CustomerNumber<i></i>&nbsp;是长度为<i></i>&nbsp;10<i></i>&nbsp;的文本字段、CustomerName<i></i>&nbsp;是长度为<i></i>&nbsp;30<i></i>&nbsp;的文本字段。<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">Col1=CustomerNumber<i></i>&nbsp;Text<i></i>&nbsp;Width<i></i>&nbsp;10<br />Col2=CustomerName<i></i>&nbsp;Text<i></i>&nbsp;Width<i></i>&nbsp;30</td></tr></tbody></table><br /></p> <p>语法如下:<br /><b>Col</b><i>n</i>=<i>ColumnName</i><i></i>&nbsp;<b>type</b><i></i>&nbsp;[Width<i></i>&nbsp;#]</p> <p>参数解释如下:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">参数</th> <th width="70%">说明</th></tr> <tr> <td>ColumnName</td> <td>文本,标识字段名,如果包含空格要用双引号括起来</td></tr> <tr> <td>type</td> <td> <p>数据类型包括:</p> <p><b>Microsoft Jet 数据类型:</b>Bit Byte Short Long Currency Single Double DateTime Text Memo</p> <p><b>ODBC 数据类型:</b> Char (same as Text) Float (same as Double) Integer (same as Short) LongChar (same as Memo) Date <i>date format</i></p> <p>其中date format 是日期的格式字符串例如:Date YYYY-MM-DD </p></td></tr> <tr> <td>Width</td> <td>字符串的长度,后面的数字用来指定字段的长度(“固定分隔文本文件”为必填,“文字分隔文本文件”为可选)</td></tr> <tr> <td>#</td> <td>整形数字,标识字段长度</td></tr></tbody></table></p> <p><b>指定字符集</b><br />CharacterSet<i></i>&nbsp;项有两个选择:ANSI<i></i>&nbsp;|<i></i>&nbsp;OEM<br />选择<i></i>&nbsp;ANSI<i></i>&nbsp;字符集用如下方法:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">CharacterSet=ANSI</td></tr></tbody></table><br /></p> <p><br /><b>特别数据类型转换<i></i>&nbsp;</b><br />特别数据类型转换主要是定义比如日期、货币型数据如何转换或者如何显示的,你可以参考下面这张表:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">选项</th> <th width="70%">说明</th></tr> <tr> <td>DateTimeFormat<br /></td> <td>Can be set to a format string indicating dates and times. You should specify this entry if all date/time fields in the import/export are handled with the same format. All Microsoft Jet formats except A.M. and P.M. are supported. In the absence of a format string, the Windows Control Panel short date picture and time options are used.<br /></td></tr> <tr> <td>DecimalSymbol<br /></td> <td>Can be set to any single character that is used to separate the integer from the fractional part of a number. <br /></td></tr> <tr> <td>NumberDigits<br /></td> <td>Indicates the number of decimal digits in the fractional portion of a number. <br /></td></tr> <tr> <td>NumberLeadingZeros<br /></td> <td>Specifies whether a decimal value less than 1 and greater than –1 should contain leading zeros; this value can either be False (no leading zeros) or True.</td></tr> <tr> <td>CurrencySymbol<br /></td> <td>Indicates the currency symbol to be used for currency values in the text file. Examples include the dollar sign ($) and Dm.<br /></td></tr> <tr> <td>CurrencyPosFormat<br /></td> <td>Can be set to any of the following values: <p>· Currency symbol prefix with no separation ($1) </p> <p>· Currency symbol suffix with no separation (1$) </p> <p>· Currency symbol prefix with one character separation ($ 1) </p> <p>· Currency symbol suffix with one character separation (1 $) <br /></p></td></tr> <tr> <td>CurrencyDigits<br /></td> <td>Specifies the number of digits used for the fractional part of a currency amount. <br /></td></tr> <tr> <td>CurrencyNegFormat<br /></td> <td>Can be one of the following values: <p>· ($1) </p> <p>· –$1 </p> <p>· $–1 </p> <p>· $1– </p> <p>· (1$) </p> <p>· –1$ </p> <p>· 1–$ </p> <p>· 1$– </p> <p>· –1 $ </p> <p>· –$ 1 </p> <p>· 1 $– </p> <p>· $ 1– </p> <p>· $ –1 </p> <p>· 1– $ </p> <p>· ($ 1) </p> <p>· (1 $) </p> <p>This example shows the dollar sign, but you should replace it with the appropriate CurrencySymbol value in the actual program.<br /></p></td></tr> <tr> <td height="27">CurrencyThousandSymbol<br /></td> <td>Indicates the single-character symbol to be used for separating currency values in the text file by thousands.<br /></td></tr> <tr> <td>CurrencyDecimalSymbol<br /></td> <td>Can be set to any single character that is used to separate the whole from the fractional part of a currency amount. <br /></td></tr></tbody></table><br /> </p> <p><br />下面给出一个简单的例子,假设有一个表Contacts.txt类似下面:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">姓名<i></i>&nbsp;单位<i></i>&nbsp;联系日期<i></i>&nbsp;<br />王海<i></i>&nbsp;上海有机化学研究所<i></i>&nbsp;2002-1-1<i></i>&nbsp;<br />罗炙<i></i>&nbsp;数字化机床研究院<i></i>&nbsp;2004-1-1<i></i>&nbsp;</td></tr></tbody></table><br /></p> <p>导入<i></i>&nbsp;Access<i></i>&nbsp;应该类似下面表格:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">姓名</th> <th width="30%">单位</th> <th width="30%">联系日期</th></tr> <tr> <td>王海</td> <td>上海有机化学研究所</td> <td>2002-1-1</td></tr> <tr> <td>罗炙</td> <td>数字化机床研究院</td> <td>2004-1-1</td></tr></tbody></table></p> <p><br />那么<i></i>&nbsp;Schema.ini<i></i>&nbsp;则是类似下面的INI文件:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">[Contacts.txt]<br />ColNameHeader=True<br />format=Delimited("<i></i>&nbsp;")<br />MaxScanRows=0<br />CharacterSet=ANSI<br />Col1="姓名"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;10<br />Col2="单位"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;9<br />Col3="联系日期"<i></i>&nbsp;Date<i></i>&nbsp;Width<i></i>&nbsp;8</td></tr></tbody></table><br /></p> <p>注释如下:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">[Contacts.txt]<i></i>&nbsp;///文本文件名<br />ColNameHeader=True<i></i>&nbsp;///带有表头<br />format=Delimited(<i></i>&nbsp;)<i></i>&nbsp;///空格作为分隔符,如果是分号,请用<font style="COLOR: green">format=Delimited(;)<i></i>&nbsp;</font>来解决<br />MaxScanRows=0<i></i>&nbsp;///扫描整个文件<br />CharacterSet=ANSI<i></i>&nbsp;///ANSI<i></i>&nbsp;字符集<br />Col1="姓名"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;10<i></i>&nbsp;///字段1<br />Col2="单位"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;9<i></i>&nbsp;///字段2<br />Col3="联系日期"<i></i>&nbsp;Date<i></i>&nbsp;Width<i></i>&nbsp;8<i></i>&nbsp;///字段3<br />///如果有更多字段可<i></i>&nbsp;Col4<i></i>&nbsp;....<i></i>&nbsp;ColN<i></i>&nbsp;</td></tr></tbody></table><br /></p> <p>注意,Schema.ini<i></i>&nbsp;必须和需要导入的文本文件在同一目录。</p>

关系型数据库到文档型数据库的跨越

在文档型NoSQL数据库出现之前,许多开发者一直绞尽脑汁思考,希望能想出更好的处理关系型数据库技术的方法,如今他们可能要跳出那种思维而另辟蹊径。本文将介绍关系型数据库和分布式文档型数据库的区别以及在应...
  • qq_16912651
  • qq_16912651
  • 2016-12-07 17:56:01
  • 1125

数据库简介

一、数据库简介二、数据库分类    1、关系型数据库    2、非关系型数据库        键值(Key-Value)存储数据库        这一类数据库主要会使用到一个哈希表,这个表中有一个特定...
  • weily11
  • weily11
  • 2018-04-11 20:02:55
  • 19

强大的<em>文本型数据库</em>PHP聊天室

强大的<em>文本型数据库</em>PHP聊天室 2001-07-03 上传大小:347B 聊天室类 1、密码使用DES算法加密,无法逆向破解,使聊天更安全。 2、自动跟踪私聊状态,自动切换和对象...
  • 2018年04月13日 00:00

mysql数据库数据类型之字符型

  • TchChan
  • TchChan
  • 2017-12-01 21:37:21
  • 119

[免费]sqliteDev,文件<em>型数据库</em>

举报人: 被举报人: qq_31705049 举报的资源分: 0 *类型: *详细原因: 取  消 提  交 sqliteDev,文件<em>型数据库</em> 0积分 立即下载 ...
  • 2018年04月13日 00:00

新一代数据库技术

新一代非关系型数据库有以下5个主要类型: 面向文件存储:适用于存储海量文件,代表产品MongoDb 列存储(wide column store/column-family)数据库:快速查找...
  • lh2016rocky
  • lh2016rocky
  • 2017-04-28 09:59:24
  • 949

11种主流NoSQL文档型数据

文档型数据库是NoSQL中非常重要的一个分支,它主要用来存储、索引并管理面向文档的数据或者类似的半结构化数据。顾名思义,文档型数据库(面向文档数据库)的关键核心概念即文档(Document),它是数据...
  • yiruoyun
  • yiruoyun
  • 2012-08-07 22:22:21
  • 2800

Java实现嵌入式数据库(文本数据库)代码实例

在Java中虽然提供了良好的数据库支持并有大量的第三方持久层框架作为辅助,但相对其他语言来讲在Java中使用数据库连接时造成的系统损耗也会比较多。因此对于数据吞吐量较少的系统而言,有时放弃数据库而改为...
  • cping1982
  • cping1982
  • 2008-05-30 21:57:00
  • 2988

单文件小型数据库的选择

小型数据库 据称,在国外,需要使用客户端数据库的情况中,有30%左右的开发者选择Access,有30%的开发者选择MSDE 2000, 有30%的开发者选择Embedded Firebird,剩...
  • zuo_hy
  • zuo_hy
  • 2014-11-20 11:28:10
  • 13194

通过数据库进行文本格式转化

想根据某个表,生成特定格式的数据“ package com.travel.util; import java.sql.DriverManager; import java.sql.ResultSe...
  • u011982967
  • u011982967
  • 2016-06-23 19:58:09
  • 149
收藏助手
不良信息举报
您举报文章:使用文本型数据库
举报原因:
原因补充:

(最多只允许输入30个字)