下面是小编整理的ldb文件到底派什么用场得?数据库教程,本文共5篇,欢迎您阅读,希望对您有所帮助。本文原稿由网友“mxm12034”提供。
篇1:.ldb文件到底派什么用场得?数据库教程
.ldb文件到底派什么用场得?
本文参考地址:support.microsoft.com/default.aspx?kbid=208778
摘要:
.ldb文件在多用户环境下是非常重要得,该文件被 MS Jet DB Engine V4.0 用来确定被共享的数据库中哪条记录被锁定以及被谁锁定
更多信息:
.ldb 文件是由共享数据库的使用者自动创建以及删除得。.LDB 文件建立并存储计算机名、用户名以及放置扩展域锁的。.LDB 文件一般与 .MDB 同名,并且与 .MDB 文件在相同目录,在 .MDB 文件被打开时建立并锁定。举个例子,如果你打开 c:\\northwind.mdb 文件后 c:\\northwind.ldb 文件会自动被建立并被锁定。
当最后一个用户关闭共享数据库时 .ldb 文件会被自动删除。但是当用户没有正常关闭数据库或者数据库已经被标记为损坏,那么 .LDB 文件不会被自动删除,因为 .LDB 文件中存储着数据库损坏时谁正在使用该数据库。
权限问题:
记得要给予 .LDB 文件所在的文件夹一定的权限。
如果你准备共享一个数据库,该 .MDB 文件应该被放置在一个用户拥有读取、写入、建立、删除权限的目录中。即使你要求每个用户有不同的文件权限(比如,只读或者可读写),所有能够共享该数据的用户对该目录都应该拥有读取、写入、建立的权限,但是你可以分配用户对某个 .MDB 文件只拥有只读权限。
注意:如果用独占方式打开某个数据库,那么 MS JET DB 将不会建立 .LDB 文件,此时用户对目录的权限只要求有读取和写入两个权限即可。
.ldb 文件的内容:
MS JET DB ENGINE 会为每个以共享方式打开数据库的使用者在 .LDB 文件中创建一个条目,每个条目的大小是 64 字节。前面 32 字节保存计算机名,后面 32 字节保存用户名,
JET DB ENGINE 支持的最大用户数是 255,因此 .LDB 文件的大小不会超过 16 KB。
当一个用户关闭一个共享数据库时,该用户在 .LDB 文件中的条目不会立即被删除,可是该条目会在下一个用户打开这个数据库时被覆盖。这也就意味着你不能通过 .LDB 文件来唯一确定谁是某个数据库的当前使用者。
.LDB 文件的使用方法:
JET DB ENGINE 使用 .LDB 文件中的信息来确定谁锁定了数据,谁正在写入被其他人锁定的数据。如果 JET DB ENGINE 发现有其他用户的锁定冲突,它会读取 .LDB 文件以获取计算机名与用户名谁锁定了文件或者记录。
在多数锁定冲突情况下,你会在存储记录时得到一个 “写入冲突”的提示并且取消你所做的修改。在有些情况下你会得到如下提示:
Couldn't lock table ; currently in use by user
注意:上述关于 .LDB 文件的信息与数据库文件无关。如果一个 .LDB 文件损坏,数据库文件仍然能够工作正常。但是写入冲突的提示消息中
参考:
在 Access 中,你可以用 VBA 来输出某个数据库的所有登陆用户的信息。
关于此代码请参考:
198755 ACC2000: Checking Who Logged into Database with Jet UserRoster
support.microsoft.com/default.aspx?kbid=198755
原文地址:support.microsoft.com/default.aspx?kbid=208778
www.access911.net 站长收藏
篇2:如何增强Access文件的安全性数据库教程
对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选,然而,Access数据库本身存在很多安全隐患,攻击者一旦找到数据库文件的存储路径和文件名,后缀名为“.mdb”的Access数据库文件就会被下载,网站中的许多重要信息会被一览无余,非常可怕。当然,大家采用了各种措施来加强Access数据库文件的安全,但真的有效吗?
存在漏洞的保护措施
流传最为广泛的一种Access数据库文件保护措施,是将Access数据库文件的后缀名由“.mdb”改为“.asp”,接着再修改数据库连接文件(如conn.asp)中的数据库地址内容,这样一来即使别人知道数据库文件的文件名和存储位置,也无法进行下载。
这是网上最流行的一种增强Access数据库安全的方法,而且还有强大的“理论基础”。
因为“.mdb”文件不会被IIS服务器处理,而是直接将内容输出到Web浏览器,而“.asp”文件则要经过IIS服务器处理,Web浏览器显示的是处理结果,并不是ASP文件的内容。
但大家忽略了一个很重要的问题,这就是IIS服务器到底处理了ASP文档中的哪些内容。这里笔者提醒大家,只有ASP文件中“”标志符间的内容才会被IIS服务器处理,而其他内容则直接输出到用户的Web浏览器。你的数据库文件中包含这些特殊标志符吗?即使有,Access也可能会对文档中的“”标志符进行特殊处理,使之无效。因此后缀为“.asp”的数据库文件同样是不安全的,还是会被恶意下载。
面对蛊惑人心的理论,以及众人的附和,笔者也开始相信此方法的有效性,
但事实胜于雄辩,一次无意间的试验,让笔者彻底揭穿了这个谣言。
笔者首先将一个名为“cpcw.mdb”的数据库文件改名为“cpcw.asp”,然后上传到网站服务器中。运行flashGet,进入“添加新的下载任务”对话框,在“网址”栏中输入“cpcw.asp”文件的存储路径,然后在“重命名”栏中输入“cpcw.mdb”。进行下载后,笔者发现可以很顺利地打开“cpcw.mdb”,而且它所存储的信息也被一览无余。这就充分说明了单纯地将数据库文件名的后缀“.mdb”改为“.asp”,还是存在安全隐患。
没有最“安全”,只有更“安全”
任何事情都不是绝对的,因此增强Access数据库文件的安全也只是相对的。毕竟Access只能用于小型数据库的解决方案,它存在很多先天不足,特别是在安全方面。
我们所采用的各种方法,也只是相对来说增强了Access数据库文件的安全,并不能实现绝对的安全,毕竟先天不足的问题是无法解决的。下面笔者为大家介绍一些方法,虽然不能完全防止别人下载Access数据库文件,但只要你善用它们,Access数据库文件就会更安全。
方法一:数据库文件名应复杂
要下载Access数据库文件,首先必须知道该数据库文件的存储路径和文件名。如果你将原本非常简单的数据库文件名修改得更加复杂,这样那些“不怀好意”者就要花费更多的时间去猜测数据库文件名,无形中增强了Access数据库的安全性。
很多ASP程序为方便用户使用,它的数据库文件通常都被命名为“data.mdb”,这大大方便了有经验的攻击者。如果我们将数据库文件名修改得复杂一些,他人就不易猜到,如将“data.mdb”修改为“1rtj0ma27xi.mdb”,然后修改数据库连接文件中的相应信息。这样Access数据库就相对安全一些。此方法适合于那些租用Web空间的用户使用。
篇3:单表导入/导出文件数据库教程
/*--实现数据导入/导出的存储过程
可以实现导入/导出 指定表 到文本文件
支持自定义行/列分隔符
--邹建 .07--*/
/*--调用示例
导出调用示例
--导出指定表,这里指定导出表:地区资料
exec file2table 'zj','','','c:\\zj.txt','xzkh_new..地区资料',@rowsplit=','
导入调用示例
--导入指定表,这里指定导入表:地区资料
exec file2table 'zj','','','c:\\zj.txt','xzkh_sa..地区资料',0
--*/
if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
drop procedure File2Table
go
create procedure File2Table
@servername varchar(200) --服务器名
,@username varchar(200) --用户名,如果用NT验证方式,则为空''
,@password varchar(200) --密码
,@filename varchar(1000) --目录名+文件名
,@tbname varchar(500)='' --数据库..表名
,@isout bit=1 --1为导出(默认),0为导入
,@fdsplit varchar(10)='\\t' --字段分隔符,默认为制表符
,@rowsplit varchar(10)='\\n' --记录分隔符,默认为回车符
as
declare @sql varchar(8000)
set @sql='bcp “'+@tbname
+case when @isout=1 then '” out' else '“ in' end
+' ”'+@filename+'“ /c' +' /S”'+@servername
+case when isnull(@username,'')='' then ''
else '“ /U”'+@username end
+'“ /P”'+isnull(@password,'')+'“'
+' /t”'+@fdsplit+'“'
+' /r”'+@rowsplit+'“'
exec master..xp_cmdshell @sql
go
篇4:转储控制文件头数据库教程
控制
转出控制文件必须在数据库打开(OPEN)或者安装(MOUNT)的状态下进行,
1. 连接数据库
E:\\>sqlplus ”/ as sysdba“
SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 5月 14 08:52:03
Copyright (c) 1982, , Oracle Corporation. All rights reserved.
连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
2. 确定跟踪文件的目录:
sys@TEST_LUNAR>show parameter dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string e:\\oracle\\admin\\test\\bdump
core_dump_dest string e:\\oracle\\admin\\test\\cdump
max_dump_file_size string UNLIMITED
shadow_core_dump string partial
user_dump_dest string e:\\oracle\\admin\\test\\udump
sys@TEST_LUNAR>
sys@TEST_LUNAR>host dir E:\\oracle\\admin\\test\\udump
驱动器 E 中的卷是 ORACLE
卷的序列号是 707A-C50C
E:\\oracle\\admin\\test\\udump 的目录
2002-01-13 21:59
2002-01-13 21:59
0 个文件 0 字节
2 个目录 2,444,267,520 可用字节
3. 转储控制文件头
sys@TEST_LUNAR>alter session set events 'immediate trace name controlf level 1';
会话已更改。
sys@TEST_LUNAR>host dir E:\\oracle\\admin\\test\\udump
驱动器 E 中的卷是 ORACLE
卷的序列号是 707A-C50C
E:\\oracle\\admin\\test\\udump 的目录
2002-01-13 21:59
2002-01-13 21:59
2004-05-14 09:06 949 test_ora_1364.trc
1 个文件 949 字节
2 个目录 2,444,263,424 可用字节
sys@TEST_LUNAR>
4. 解读dump出来的控制文件头(level 1)信息
以下是test_ora_1364.trc的内容(共23行):
(1) Dump file e:\\oracle\\admin\\test\\udump\\test_ora_1364.trc
(2) Fri May 14 09:06:10 2004
创建跟踪文件的时戳
(3) ORACLE V9.2.0.1.0 - Production vsnsta=0
数据库当前的版本是V9.2.0.1.0
注意:与(18)条目的区别
(4) vsnsql=12 vsnxtr=3 ???
(5) Windows Version 5.0 Service Pack 4, CPU type 586
当前OS信息
(6) Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
(7) With the Partitioning, OLAP and Oracle Data Mining options
(8) JServer Release 9.2.0.1.0 - Production
(9) Windows 2000 Version 5.0 Service Pack 4, CPU type 586
(10) Instance name: test
实例名称为test
(11) Redo thread mounted by this instance: 1
这说明这是一个单实例数据库,当前线程被实例1装载
(12) Oracle process number: 13
目前Oracle的进程数为13,这个信息同select count(*) from v$process的结果相同:
sys@TEST_LUNAR>select count(*) from v$process;
COUNT(*)
----------
13
sys@TEST_LUNAR>
(13) Windows thread id: 1364, image: ORACLE.EXE
这条信息反应了前台进程中可执行部分的信息,注意在windows平台上Oracle作为一个ORACLE.EXE进程来运行,
所以,这里前台进程中的可执行部分是:ORACLE.EXE;创建该跟踪文件的线程号为1364(十进制数)。
如果在UNIX中,这部分信息会类似下面的信息:
Image: $1$DUA41:[V8ROOT.RDBMS]SQLPLUS.EXE;8
即该跟踪文件是由前台进程SQLPLUS.EXE创建的,其操作系统进程号(PID)为8
(14) *** 2004-05-14 09:06:10.000
创建跟踪文件的时戳
(15) *** SESSION ID:(10.9) 2004-05-14 09:06:10.000
创建控制文件的session的SID 和SERIAL#,本例中,SID是10,SERIAL#是9,这部分信息可以同v$session视图中看到的一样。
sys@TEST_LUNAR>select sid,serial# ,username from v$session;
SID SERIAL# USERNAME
---------- ---------- ------------------------------
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
9 1
10 9 SYS
已选择10行。
sys@TEST_LUNAR>
(16) DUMP OF CONTROL FILES, Seq # 2929 = 0xb71
说明这是一个控制文件的转储,Seq #是控制文件的序列号,它意味着控制文件的更新次数,也可以看作是控制文件的版本。2929是10进制表示的,0xb71是十六进制表示的。(这行信息同21行给出的信息是一样的含义)
*********以下内容是通用文件头(generic file header)信息*************
通用文件头信息对于数据库中所有的数据文件,控制文件和日志文件都应当是一样的。
(17) FILE HEADER:
(18) Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000
指出了创建控制文件时的Oracle的版本,这里是0x9200000,即,9.2.0。
Compatibility Vsn指出了兼容版本为0x8000000,即,8.0。
注意:与(3)条目的区别
(19) Db ID=1750352942=0x6854442e, Db Name='TEST1'
Db ID是数据库标识号,Oracle根据数据库的创建时间和数据库名按照一定的算法得出的;Db Name为数据库名,本例中数据库名为TEST1。
(20) Activation ID=0=0x0
(21) Control Seq=2929=0xb71, File size=228=0xe4
Control Seq同16行信息的含义;
File size指出了控制文件的物理大小,其单位为块,
即,控制文件的实际大小=File size的值 * 数据块的大小(DB_BLOCK_SIZE)
(22) File Number=0, Blksiz=8192, File Type=1 CONTROL
控制文件的文件号为0,类型为1;
Blksiz对应于操作系统数据块的大小,在Windows平台上为8192K
(如果是UNIX操作系统,Blksiz的值为512)???
**************************通用文件头结束****************************
(23) *** END OF DUMP ***
篇5:如何修改MySQL日志文件位置?数据库教程
MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件位置的方法,供您参考,
今天需要改MySQL日志文件的位置,发现在/etc/my.cnf中怎么也改不了。
后来发现MySQL日志位是指定的:
[root@localhost etc]# ps auxgrep mysqld
root 11830 0.5 0.0 4524 1204 pts/0 S 03:03 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/data/mysql --socket=/var/lib/mysql/mysql.sock --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid
mysql 11890 3.7 0.1 40456 9076 pts/0 Sl 03:03 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/data/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
root 11909 0.0 0.0 3908 664 pts/0 S+ 03:03 0:00 grep mysqld
chkconfig --list发现是chkconfig on指定的,天是
vim /etc/init.d/mysqld得知这里的已经配置
get_mysql_option mysqld datadir ”/var/lib/mysql“
datadir=”$result“
get_mysql_option mysqld socket ”$datadir/mysql.sock“
socketfile=”$result“
get_mysql_option mysqld_safe log-error ”/var/log/mysqld.log“
errlogfile=”$result“
get_mysql_option mysqld_safe pid-file ”/var/run/mysqld/mysqld.pid“
mypidfile=”$result\"
更改这里应该就行了
- PL/SQL流程控制数据库教程2023-04-26
- 远程管理sqlserver的注册方法数据库教程2022-12-25
- 逻辑备份与恢复实战数据库教程2023-02-10
- oracle8i在redhat7.1~7.3下的安装数据库教程2024-04-19
- 说一说 Oracle库的Hang数据库教程2023-03-15
- 如何获得当前数据库的SCN值数据库教程2023-08-03
- SQL查询语句使用简要数据库教程2023-03-20
- 将Excel数据导入Access数据库数据库教程2022-12-11
- 解读Oracle 9i延续性初始化参数文件数据库2023-02-27
- 用SQL进行单表查询数据库教程2024-02-25