/ F9 L! v% S9 O2 x) [7 n: z- Y 进入分割和粘贴功能性能使它有用工具在其他数据库之间连结(例如,在数据或者数据库变换期间的Oracle和微软公司SQL服务器)。进入与给与窗子和其他平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。例如非常紧密SNP完全格式化的为分享的形式与没有全部的进入软件的人们报告。它也能容易被升级到微软公司SQL服务器。/ M. b3 E) P' R& F. G
& y4 }- w, J3 Z) L6 B( z3 S7 S
与一般的RDBMS完全不同,它缺乏数据库触发和预存程序。自从MS Access 2000 (Jet 4.0),开发人员可以在查询中设定参数,这跟预存程序很相似的,但这些“预存程序”只能处理一个程序.当资料表内数据发生变化时,它确实允许形式包含被引发的代码,使用是普通的透过查询和其他技术在进入营运储存的程序在方面RDBMS支援这些的。 ; x, }3 J% p' |- ^
[编辑本段]0 \/ z' G$ T J9 ?8 }) x
发展 进入可提供的编程语言,当时在另一个内产品Microsoft Office家具,微软公司应用的Visual Basic。两个数据库进入讯息库COM组成部分被提供:这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。 5 l9 f, J0 D8 k" a4 d" X! w' X, a5 P; {; P- |
MicrosoftAccess容易被应用于小的工程,但是如果设计的不好对大工程是无用的。. c4 b5 h2 C1 I
; n! A; I4 Y2 p& Y; \4 P& W6 K 全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。$ d. u: J. M {
! d1 c4 }: t$ P$ U D
一种设计技术是把进入应用在数据和计划之间进行分发。一数据库应该只包含桌子和关系,当另一个将有全部计划时,形式,报告和质问和对第一个数据库桌子的连接。令人遗憾,当连结时,进入允许没有有关的道路,因此那些发展环境作为这种生产环境有相同的道路应该(虽然你写你们自己的能"动态连接程序"常规在里VBA那搜出能一定背面结束档案以透过这个目录树搜寻,如果它发现这条电流通路它不能)。 0 q* d. Z' _1 K & T" W( k* n L 这种技术也允许开发者在不同的档案中分申请,因此一些架构是可能的。 7 ^7 Y3 b* C+ L [2 Z" R8 x. _1 G; @9 e: Q: \# K- t1 `( I Access的优点 8 I7 Y& f9 }0 p; ]# H+ T* \. M0 ~" x3 A' }4 ^
(1)存储方式单一 4 k% H5 _( `, V0 |; o1 z
! t* B+ f- e; m Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。 , p r7 ~) r2 p/ R7 H" N5 F# x" I. m1 E
(2)面向对象 , R' z" p/ T& f4 H* F% l
4 R# ?" T3 j6 Z; I
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 / y8 R% F2 b! A% b% k
5 }0 E5 i# T3 S, @# V. F: V& c (3)界面友好、易操作 / a6 c. }8 u4 n- m
, }2 j' }( x" c% {
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 : e9 H5 `; \7 ]& U$ h0 z7 S$ I' z, w4 ~3 e% W7 v
(4)集成环境、处理多种数据信息 % B5 L) H2 ]7 v6 k' O5 h) p; [
' ` M, X1 E+ p4 }/ R) t6 \* l
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 2 ~4 ~; e1 N9 }( L: I1 H
! a/ x% C2 | D, v
(5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。 4 r' F) Y3 N& W7 t! M$ ~& F! ~/ I6 G0 X$ O ACCESS的缺点; Y6 ~2 w$ E9 H9 H p- F' M3 k
# F9 t2 k `+ R* w& y- ^) V
ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:+ f1 {4 q4 S) D5 x# o3 t8 Q
2 I( q% p/ v, p" `% y( _ L
1.数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降!" K1 o: O. B% J6 M6 L' A
4 G% w6 P) W e. z& @" W# ? 2.网站访问频繁,经常达到100人左右的在线。 $ x5 ?8 X) k: d+ U2 W/ }4 h9 K; u g0 K
3.记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!8 r( p+ `7 G& x) r s0 m. T
2 q" |0 W2 D+ X5 W: { C函数; e1 B1 k5 {5 | F+ v
# k0 `, T+ }' i1 Z1 v; c1 ?; { 函数名: access 9 B" {) _! M V
- e$ O: I, J2 p& S) O
功 能: 确定文件的访问权限 6 l) O- H* e. c: c, P
, b. i9 V9 [7 B8 E# {3 @& l 用 法: int access(const char *filename, int amode); " r, {! w' B2 C3 l1 g
[编辑本段] 7 h& O: {/ v, j! H; U+ @access Synopsis , Q7 K: d% a; Q8 {: D! m% w# p" ^, _. H3 w( d& s+ }, L6 t #include <io.h>7 l2 v6 {1 n0 n' q9 O
) O/ V5 v6 P$ Y int _access(const char *path,int mode) ;8 x, u* J' E W+ I" U' _! Y9 D; m
; j/ Y7 t, B* \6 \Description2 ^, v7 V( Q6 j% t6 E
( y p) s- `8 N4 B6 k
The access function, when used with files, determines whether the specified file exists and can be accessed as specified by the value of mode. When used with directories, _access determines only whether the specified directory exists; since under Windows all directories have read and write access. 5 A4 {6 ^9 T& L2 i, \5 l / ^1 M9 r5 s5 ]) {: g The mode argument can be one of : 4 z. _! O2 x( k! K+ a- I( s8 h: t0 X2 b+ c
00 Existence only . g% l: N W# }' {* A% {' E- R* q5 @& i% k& v2 ~
02 Write permission 2 `7 }+ c6 s/ i% i / ?% ?6 T$ v# X+ s5 h0 ~ 04 Read permission( x- F4 ^* c$ \- B. {) _
. H$ o# F7 F2 a# E; r) E 06 Read and write permission * V, `* }0 G$ s- ?. [/ a% M2 j* h E, K# P$ V: m6 x, H1 L$ Z Returns6 t* V! k) o3 @& h
3 J% Q7 t2 }+ ?5 g
Zero if the file has the given mode, -1 if an error occurs. ; B0 W( e9 A8 a* ?9 k8 a$ x& G$ E$ y5 n) ~; Q2 h! I0 Z Portability :# ]4 o. [ o1 R* f: [3 A& Z
1 I" W4 a# C n9 ^' V2 y6 l# z Windows. Under Unix a similar function exists too. % l. `6 g' `1 \, g$ Q* ^/ k. C ( I- z2 H7 j# X; |% ?. ` Note that lcc-win32 accepts both _access (Microsoft convention) and access.2 Z% ^$ U2 W5 b
' N9 w1 M* g! G2 O5 _ 程序例: , p U6 {3 J3 r* ?. w
" P4 f9 ], y% C3 ^
#include <stdio.h> 7 F) m" \" y: x ! ]3 r' Y( f6 [) h# T& W: d #include <io.h> ; ~. J, ]; i% _0 J; O, z2 `+ n
( r7 v5 d! I9 s' [! @% f+ c int file_exists(char *filename); " i3 ^' Y& w; p, ^) Z/ a3 o' k
; F- \* v1 A$ S1 d
int main(void) ! x6 b# u4 M" j3 q8 J
t& j; A2 w* H
{ / c4 p8 _$ P+ e/ k v& {; v( i9 z
# [7 l3 Q2 q8 v6 E0 {1 y5 B$ P printf("Does NOTEXIST.FIL exist: %s\n", 9 N8 q& Q3 Z+ i1 e A! h4 T* \' a, V& N4 R3 E. A' C- ^! N
file_exists("NOTEXISTS.FIL") ? "YES" : "NO"); 6 P, C9 |/ c: q3 L5 R6 X/ a
% A) f6 ^8 F* J" h( f: _ return 0; " J6 B! I6 o7 O7 Y& o 1 _, Y% k- U0 U2 R B- \7 _ } 0 N4 m' h4 {! m7 B& }% x
% r3 S9 k, B2 H( E: \; G" q; m. h
int file_exists(char *filename) * T1 q. C0 \( q3 w Y
3 B0 ~8 p- \+ {0 @" v { 3 m# }: I3 t1 H
' H& O& J/ R0 P& B+ A. o
return (access(filename, 0) == 0); 5 @' S- O9 R& x
% I6 B8 f v2 A$ R8 ?* U$ ~$ Q- q
} ! a/ a2 B1 ^# H2 ? ) C, k8 J* e7 x5 s$ D" p Access数据库安全方式 `- T0 S' I" }( Z' A
" X0 b. g' H0 w& b, f% W! R/ w8 L9 T4 y" \2 e/ ] j/ z5 u
一、密码式 ! w# K. ]/ c3 d! c
8 ^, z) t0 c% G7 \* ?
给数据库起一个随机复杂的名称,避免被猜到被下载,这种方式在以前很流行,因为大家都对自己的代码很有自信。但随着错误提示对数据库地址的泄露导致数据库被非法下载,这种方式也就越来越少人用了。 $ { K, F5 V5 I) y7 y( G* D" _+ V# H+ c6 Q
二、"#"式 ( Y) {+ Z y. d# F7 n5 D 3 U! T7 t( w, r% @( I/ k8 r 在数据库名称里加上#号,从URL上请求时#是请求地址和请求参数的一个分隔字符,如果知道了数据库名,直接请求的话,如:http://www.xx.com/access#.mdb,WEB服务器会认为请求的是access而不是access#.mdb,所以会提示找不到文件,但是很遗憾,URL中对于这些特殊的字符都会有一个特殊的表示方式,#的特殊表示就是%23,如http://www.xx.com/access%23.mdb,那么access#.mdb将会被下载。还有如果用FlashGet之类的下载工具也可以直接下载。 * J& J: ?* U0 Z
: e9 [! w2 P3 R2 @. X
三、ASP式 7 Q( {4 \2 h/ @' |5 D
4 t8 n4 x* q0 v2 Z
这种作法是比较专业但也是很安全的也是现在比较流行的作法,但是现在许多的人只是作了一半,只是将数据名改成ASP而以,这样的话直接用FlashGet之类的下载工具一样可以将数据库下载,这种方式的正确作法有两步: 5 x6 d* x1 k8 y$ H
0 ? e; W1 `* L/ ?- G
第一步:在数据库内创建一个字段,名称随意,类型是OLE对象,内容设置为单字节型的" ' `: ]# f8 N& V, w; k
1 C/ M7 _! y+ j) w( @
这段代码运行完之后将会在数据库内生成一个nodownload表,表内字段是notdown。如果数据库内已有同名的数据表存在请将代码内的nodownload改成自己想要的数据表名即可。 . f c6 X9 m5 C3 ~: m ( T5 W) z+ ?/ q# s# \! f 四、asa式 + ~$ z) M! W" n5 ~. H2 x* Q$ w) F' V6 f4 S% Z
这种方式的真谛是利用IIS对ASA文件的保护,从而使得数据库文件不能从URL上直接请求下载,但是这种方式被误解成只要将文件后缀改成ASA就可以了。要知道IIS只是对global.asa这个文件名有请求保护,所以这种方式只能将数据库名设置为global.asa,而且要注意的是,设置成global.asa之后最好不要将其放在主机或虚拟目录的根目录里,不然会被IIS当然正常的global.asa文件进行尝试运行的。 ! j, C4 S- I9 @! R2 a* v, B, S
[编辑本段] 7 u# o& U: \% T" |0 L; d/ cOpen Access的信息交流新模式 Open Access(简称OA)是在网络环境下发展起来的学术界传播信息及出版学术信息的一种新模式。它的兴起为信息的交流和利用方式产生重大影响,已经受到国际学术界、出版界、图书馆学界等的广泛关注。+ k2 K- K! l2 w, h% o% u/ L5 G
- T# C/ G6 x% A- N K Open Access通常被译作开放存取、开放获取,本文采用“开放存取”这一译法,主要是基于两个方面的考虑。一是“存取”相对于“获取”而言,不仅包括用户的“获取”,还包括作者的“存放”,所以用“存取”更能全面地覆盖OA的内涵;二是在图书馆学及情报科学领域,access一词译成“存取”已约定成俗。 ) p0 X! H" P A9 v8 y; c \* ?4 J9 `7 J$ a: R, O5 \
目前被广泛接受的关于OA的定义源于布达佩斯开放存取倡议(Budapest Open Access Initiative,BOAI),即:OA意味着用户通过公共互联网可以免费阅读、下载、复制、传播、打印和检索论文的全文,或者对论文的全文进行链接、为论文建立索引、将论文作为素材编入软件,或者对论文进行任何其他出于合法目的的使用,而不受经济、法律和技术方面的任何限制,除非网络本身造成数据获取的障碍。对复制和传播的唯一约束,以及版权在此所起的唯一作用是,应该保证作者拥有保护其作品完整性的权利,并要求他人在使用作者的作品时以适当的方式表示致谢并注明引用出处。 2 z0 }) v& R5 H5 f4 u+ n8 } $ f. f, D g6 U2 |7 r% ~1 A5 r$ M9 k 推动开放存取运动的重要力量 5 R: f4 ]1 K& O8 i 开放存取符合作者同时也是读者的非赢利的信息传播动机和利用需求。在最近几年蓬勃兴起,主要的推动力量有:①政府部门和科研资助机构。一方面通过政策推动开放存取运动。近年来欧美一些国家政府和科研资助机构积极倡导由公共投资支持的科研成果应该为全社会所免费利用和共享,并通过制订政策来加以保障。如世界上最大的医学研究资助单位美国国立卫生院(National Institutes of Health,NIH) 的公共存取政策。另一方面提供资金支持。随着开放存取运动的发展,越来越多的政府部门、科研资助机构、基金会愿意为科研成果的开放存取提供资金支持。②学术科研人员。科学研究工作者是科研成果的创造者、评议者,同时还是科研成果的消费者。基于当前学术出版被商业出版者垄断,学术科研人员作为科研成果的创造者却不能自由享受科研成果的局面,科学家强烈呼吁要把学术出版的主导权和控制权夺回到科研人员手中。③大学。大学是开放存取运动的重要实践者和支持者。近年来一些知名大学纷纷推出了机构仓储,如加州大学、麻省理工、哈佛和斯坦福大学根据学校开放存取政策的要求,保存教员的研究成果,对公众免费开放并可在网络上获取。④图书馆。图书馆界是开放存取运动的积极参与者,通过成立推动开放运动的联盟、在网站上大力宣传开放资源、建立机构库等方式,致力于推动和创建服务于科学研究的基于网络环境的学术交流体系。⑤因特网。从技术的角度讲,开放存取一个重要的推动力量就是因特网。计算机和网络技术在出版领域中的应用,降低了在线出版和在线传播的总成本,使得开放存取成为有效又可行的学术出版和交流模式。 * u" E/ V8 X; X3 F. J$ ^, `. b- t% M& F7 n: Z' Y
开放存取的主要影响 + S2 ^9 Q6 k+ B; l" F$ b' i6 V 开放存取是一种学术交流方式的变革。开放存取的文献是数字化、在线、免费和几乎没有版权和授权的限制的,因此世界上每个人都有机会接触和共享研究成果,从而加快了学术信息传播速度,促进了科学研究的快速发展,提升了科学研究的公共利用程度。对于读者、作者、研究机构、图书馆和出版单位有不同的影响。9 o0 }( M z% l
6 B' ~3 t2 L8 i/ U ①对作者而言,读者群得到拓展,扩大了学术成果传播的范围,增加了学术成果参与交流和被引用的机会,提高了成果的影响力和显示度。②对读者而言,无须面对合理使用的争议或可能侵权的担忧,可以方便快捷地免费获取同行的研究成果,同时也提高了获得资料的时效性。③对于研究机构而言,一方面随着机构学术成果的广泛传播,彰显了机构的科研实力,提高了机构的知名度。另一方面作为学术成果的利用者,减少了费用支出,避免了为出版学术成果和获取学术成果的重复付费。④对于资助机构而言,他们资助的研究工作更加公开,影响更大,科研成果得到了更广泛的传播,使得投资产生了更大的社会效益。⑤对图书馆而言,一定程度上缓解了图书馆的经费紧张,收集和整理网上的开放存取资源,扩充数字馆藏,增强了图书馆的信息保障能力。另外也分流了图书馆用户,弱化了图书馆信息中介的作用。⑥对出版商而言,OA是一种挑战,一方面扩大了期刊论文的使用率和影响力,直接效果是提高了论文的被引频次;另一方面一定程度上影响了发行量和优质稿源,降低了利润和缩小了市场风份额。 4 u6 Y+ l" _+ x* L+ j7 u" ]1 _9 R * V$ E# Z$ U: I6 n, t 开放存取存在的主要问题! f0 J( X5 w5 p: s
开放存取运动虽然已经蓬勃发展,但在运作经费、质量控制、知识产权等方面存在着不成熟性。①运作经费问题。开放存取期刊、开放存取仓储的运作是需要成本的,包括审稿费用、硬件投入、资源维护等。目前尚未建立起合理有效的经费支持模式,主要有作者付费、科研机构付费、各类资助等方式,经济运行机制是最为核心的问题。②知识产权保护问题。作为一种网络出版模式,知识产权的表现形式是什么,如何指定相应的管理策略,如何保护产权人利益,如何控制读者与作者之间的权益平衡等问题都急待解决。③质量控制问题。开放存取仓储应缺少同行审稿,意味着没有衡量论文质量的客观方法,只有读者自己对内容进行评估,可能使那些已处于知识系统顶端者受益。如哈佛大学的开放存取网站可能因其世界一流的美名而吸引读者,而发展中国家某所不知名的学校或毫无名气的学者所发表的论文有可能就不那么受关注。如何制定质量控制策略,特别是如何建立行之有效的、跨机构的评审联盟制度尤为重要。④技术方面的问题。将先进的技术应用于开放存取,有助于用户更好的访问免费资源。因此如何建立全球化的联邦信息组织与服务体系结构、动态的数字对象管理体系等问题是开放存取可持续发展的重要保证。 " [/ Y; U- h3 I3 v2 O4 b1 U% k0 e8 Z) h, [1 v) Z
开放存取作为一种学术出版与信息交流的新模式,其本质是自由、平等、公正地、无障碍地获得学术信息。开放存取运动的蓬勃开展,使开放存取资源越来越多,其数量、质量和学术影响力日益增强,相关问题的解决也在实践中不断探索和研究。随着“知识共享就是力量”的理念的日益张扬,开放存取运动会集聚越来越多的关注和支持。[1]