仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1189|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网站制作之导进文本文件时怎样指定字段范例?(二...

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:29:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因此我们的方案中要构造这种逆操作。Event_type增加一种FlashBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。
导进文本文件时怎样指定字段范例?



成绩:

我有一个文本文件必要导进Access,可是文本文件中有一列数据底本是文本,可是导进数据库后主动酿成了“双精度”范例,我该怎样让各个字段按我必要的数据范例天生哪?
怎样让ACCESS依照我划定的构架、规格从文本文件、XLS文档中导进数据?


办法二:

用Schema.ini文件也能够到达请求。


感化:Schema.ini用于供应文本文件中纪录的构架信息。每一个Schema.ini项都用于指定表的五个特性之一:
1、文本文件名
2、文件格局
3、字段名、字段长度、字段范例
4、字符集
5、出格数据范例转换



指定文件名
文件名要用方括号括起来,比方假如要对Sample.txt利用数据构架信息文件,那末它的对应的项应当是
[Sample.txt]



指定文件格局
格局申明表格局Schema.ini格局形貌Tab制表符分开文件中的字段用制表符分开Format=TabDelimitedCSV分开文件中的字段用逗号来分开Format=CSVDelimited自界说分开文件中的字段能够用任何字符来分开,一切的字符都能够用来分开,包含空格,可是双引号(")除外
Format=Delimited(自界说分开符)

-大概没有分开符-

Format=Delimited()
流动宽度文件中的字段为流动长度


指定字段

你能够有两种办法在一个字符分开的文本文件中指定字段名

1、在文本文件中的第一行包括字段名,而且设置ColNameHeader为True。
2、用数字编号指定每列而且指定每列的名字和数据范例

你必需用数字编号指定每列而且指定每列的名字、数据范例和长度(在流动长度分开的文本文件中必要指定长度)

注重,设定了ColNameHeader选项,在Schema.ini中Windows注册时会疏忽FirstRowHasNames选项。

你也能够指定字段的数据范例,利用MaxScanRows选项用来指定在断定列的数据范例时要扫描几行数据。设置MaxScanRows为0将扫描全部文件。

假如文本文件第一行包括字段名,而且要扫描全部文件,改项目就要界说以下:
ColNameHeader=True
MaxScanRows=0


接上去的项目用来指定表中的字段,利用列编号(Coln)选项来指定列。字段长度在“流动分开文本文件中”是必填项目,在“字符分开文本文件”中是可选项目。
示例:界说2个字段,CustomerNumber是长度为10的文本字段、CustomerName是长度为30的文本字段。
Col1=CustomerNumberTextWidth10
Col2=CustomerNameTextWidth30


语法以下:
Coln=ColumnNametype[Width#]

参数注释以下:
参数申明ColumnName文本,标识字段名,假如包括空格要用双引号括起来type
数据范例包含:

MicrosoftJet数据范例:BitByteShortLongCurrencySingleDoubleDateTimeTextMemo

ODBC数据范例:Char(sameasText)Float(sameasDouble)Integer(sameasShort)LongChar(sameasMemo)Datedateformat

个中dateformat是日期的格局字符串比方:DateYYYY-MM-DD
Width字符串的长度,前面的数字用来指定字段的长度(“流动分开文本文件”为必填,“笔墨分开文本文件”为可选)#整形数字,标识字段长度

指定字符集
CharacterSet项有两个选择:ANSI|OEM
选择ANSI字符集用以下办法:
CharacterSet=ANSI



出格数据范例转换
出格数据范例转换次要是界说好比日期、泉币型数据怎样转换大概怎样显现的,你能够参考上面这张表:
选项申明DateTimeFormat
Canbesettoaformatstringindicatingdatesandtimes.Youshouldspecifythisentryifalldate/timefieldsintheimport/exportarehandledwiththesameformat.AllMicrosoftJetformatsexceptA.M.andP.M.aresupported.Intheabsenceofaformatstring,theWindowsControlPanelshortdatepictureandtimeoptionsareused.
DecimalSymbol
Canbesettoanysinglecharacterthatisusedtoseparatetheintegerfromthefractionalpartofanumber.
NumberDigits
Indicatesthenumberofdecimaldigitsinthefractionalportionofanumber.
NumberLeadingZeros
Specifieswhetheradecimalvaluelessthan1andgreaterthanC1shouldcontainleadingzeros;thisvaluecaneitherbeFalse(noleadingzeros)orTrue.CurrencySymbol
Indicatesthecurrencysymboltobeusedforcurrencyvaluesinthetextfile.Examplesincludethedollarsign($)andDm.
CurrencyPosFormat
Canbesettoanyofthefollowingvalues:
・Currencysymbolprefixwithnoseparation($1)

・Currencysymbolsuffixwithnoseparation(1$)

・Currencysymbolprefixwithonecharacterseparation($1)

・Currencysymbolsuffixwithonecharacterseparation(1$)

CurrencyDigits
Specifiesthenumberofdigitsusedforthefractionalpartofacurrencyamount.
CurrencyNegFormat
Canbeoneofthefollowingvalues:
・($1)

・C$1

・$C1

・$1C

・(1$)

・C1$

・1C$

・1$C

・C1$

・C$1

・1$C

・$1C

・$C1

・1C$

・($1)

・(1$)

Thisexampleshowsthedollarsign,butyoushouldreplaceitwiththeappropriateCurrencySymbolvalueintheactualprogram.

CurrencyThousandSymbol
Indicatesthesingle-charactersymboltobeusedforseparatingcurrencyvaluesinthetextfilebythousands.
CurrencyDecimalSymbol
Canbesettoanysinglecharacterthatisusedtoseparatethewholefromthefractionalpartofacurrencyamount.

 


上面给出一个复杂的例子,假定有一个表Contacts.txt相似上面:
姓名单元接洽日期
王海上海无机化学研讨所2002-1-1
罗炙数字化机床研讨院2004-1-1


导进Access应当相似上面表格:
姓名单元接洽日期王海上海无机化学研讨所2002-1-1罗炙数字化机床研讨院2004-1-1


那末Schema.ini则是相似上面的INI文件:
[Contacts.txt]
ColNameHeader=True
format=Delimited("")
MaxScanRows=0
CharacterSet=ANSI
Col1="姓名"CharWidth10
Col2="单元"CharWidth9
Col3="接洽日期"DateWidth8


正文以下:
[Contacts.txt]///文本文件名
ColNameHeader=True///带有表头
format=Delimited()///空格作为分开符,假如是分号,请用format=Delimited(;)来办理
MaxScanRows=0///扫描全部文件
CharacterSet=ANSI///ANSI字符集
Col1="姓名"CharWidth10///字段1
Col2="单元"CharWidth9///字段2
Col3="接洽日期"DateWidth8///字段3
///假如有更多字段可Col4....ColN


注重,Schema.ini必需和必要导进的文本文件在统一目次。

今后,我们就能够使用上面的语句来导进数据了:

CurrentProject.Connection.Execute"SELECT*INTONewContactFROM[Text;FMT=Delimited;HDR=Yes;DATABASE=C:;].[Contacts#txt];"


注重,到2000格局的MDB为止,以下语句城市招致导进失利,应当是Access自己的成绩:
到AccessXP/access2003呈现不晓得是不是已办理该成绩,人人能够在“批评”中告知我测试了局。
DoCmd.TransferTextacImportFixed,,"Contacts","C:contacts.txt"
大概
DoCmd.TransferTextacImportFixed,"C:.ini","Contacts","C:Documents.txt"

毛病动静为:

运转时毛病3625:
文本文件标准c:schema.ini不存在。不克不及利用标准举行导进、导出大概链接。
大概
运转时毛病2511:
这个操纵或办法必要一个SpecificationName参数。

别的,请参考:
http://support.microsoft.com/default.aspx?scid=kb;en-us;241477



http://www.access911.net站长保藏每个Rows_log_event中包含event_type,可选值为WRITE_ROWS_EVENT、UPDATE_ROWS_EVENT、DELETE_ROWS_EVENT。从宏名字就能看出用途。
若相依 该用户已被删除
沙发
发表于 2015-1-18 16:18:49 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
只想知道 该用户已被删除
板凳
发表于 2015-1-22 11:43:13 来自手机 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
老尸 该用户已被删除
地板
发表于 2015-1-31 06:15:13 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-6 17:51:53 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-17 22:04:43 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
admin 该用户已被删除
7#
发表于 2015-3-5 23:08:58 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
精灵巫婆 该用户已被删除
8#
发表于 2015-3-12 16:35:40 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
透明 该用户已被删除
9#
发表于 2015-3-20 00:11:59 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-3-12 04:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表