前辈们,关于sql server 2005修复数据库的一些疑问,急!

claro 2008-11-03 10:19:16
目前网上关于sql2000上附加mdf和ldf出错的疑问有了一些明确的答复,但本人在SQL2005上附加数据库文件同样出错。
请教zjcxc邹建和所有前辈:
1.在SQL2005下如何修改系统表数据,对于出现"不允许对系统目录进行即席更新"问题如何解决?(注使用 ALTER DATABASE database_name SET EMERGENCY后再修改仍提示出错)
2.在SQL2005下如何自动生成ldf文件?(注因本人试图用mdf文件自动生成ldf还原数据)
--
背景:SQL2005上考试数据库在分离后附加提示出错,有mdf和ldf文件,直接附加提示:文件'G:\pwms_log.ldf'的文件头不是有效的数据库文件头。PageAudit属性不正确。(Microsoft SQL Server ,错误:5172)
--
能及时解决,本人将所有积分散完,谢谢前辈们。
...全文
4655 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leshami 2009-09-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zjcxc 的回复:]
例如, 下面的测试是一个新库, 日志文件中不存在未应用的日志的问题, 可以在删除了 ldf 文件的情况下附加成功的

SQL codeUSE master;
GO

CREATE DATABASE db_test
ON(
NAME = db_test_data,
FILENAME = N'c:\db_test.mdf')
LOG ON(
NAME = db_test_log,
FILENAME = N'c:\db_test.ldf');
GO

EXEC sp_detach_db N'db_test';
GO

EXEC xp_cmdshell 'del c:\db_test.ldf';
GO

EXEC sp_attach_single_file_db
N'db_test',
N'c:\db_test.mdf';
GO

DROP DATABASE db_test;

/*-- 结果:
配置选项 'show advanced options' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。
配置选项 'xp_cmdshell' 已从 0 更改为 1。请运行 RECONFIGURE 语句进行安装。

(1 行受影响)
文件激活失败。物理文件名称'c:\db_test.ldf'可能不正确。
新的日志文件 'c:\db_test_log.LDF' 已创建。

--*/
[/Quote]

也可以通过for attach_rebuild_log 来重建日志

create database db_test
on(name = 'db_test_data,FILENAME = N'c:\db_test.mdf'')
for attach_rebuild_log ;
yippeeyn 2009-08-20
  • 打赏
  • 举报
回复
请问楼上的怎么搞定的?
cnkjz123 2009-08-17
  • 打赏
  • 举报
回复
--那么数据库mdf出现异常(比如zjcxc前辈推断mdf有问题【SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:199998,但实际为 0:0)。在文件 'F:\PWMSDATA\pwms.mdf' 中、偏移量为 0x00000061a7c000 的位置对数据库 ID 15 中的页 (1:199998) 执行 读取 期间,发生了该错误。 】),而有ldf文件时,是否也有处理方法呢?
我已经解决了,哈哈,搞了一个晚上终于给我搞定了,数据找回来了,哎,真是辛苦啊。
claro 2008-11-07
  • 打赏
  • 举报
回复
up
claro 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 33 楼]
感谢linguojin11给出了数据库修复时,对于日志文件损坏或丢失的情况,如何处理的方法。
--那么数据库mdf出现异常(比如zjcxc前辈推断mdf有问题【SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:199998,但实际为 0:0)。在文件 'F:\PWMSDATA\pwms.mdf' 中、偏移量为 0x00000061a7c000 的位置对数据库 ID 15 中的页 (1:199998) 执行 读取 期间,发生了该错误。】),而有ldf文件时,是否也有处理方法呢?
------------------------------------------------------

[/Quote]
大家总结
claro 2008-11-05
  • 打赏
  • 举报
回复
前辈关注33楼问题。(本人问题已解决,希望大家探讨问题总结经验)
claro 2008-11-04
  • 打赏
  • 举报
回复
希望关注25楼问题。
Zoezs 2008-11-04
  • 打赏
  • 举报
回复
mark
中国风 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 claro 的回复:]
明天给帖子加分。希望大家讨论出一些实用的结果。
对于SQL2005的分离操作导致数据库文件无法再附加的情况,相信大家都可能遇到。对于数据不重要或者做过备份而言,基本上都会再次新建数据库通过还原的方式处理。但是数据重要且只有mdf和ldf文件的情况下如何恢复呢?
是否遇到SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确的情况就没有办法了?
希望前辈们深度思考,还有别的办法吗?(注:发帖时出错的数据库暂时…
[/Quote]

離線可復制物理文件
claro 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 wufeng4552 的回复:]
你附加的是2000的mdf還是2005的mdf?
[/Quote]
是2005的mdf。
水族杰纶 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 claro 的帖子:]
目前网上关于sql2000上附加mdf和ldf出错的疑问有了一些明确的答复,但本人在SQL2005上附加数据库文件同样出错。
请教zjcxc邹建和所有前辈:
1.在SQL2005下如何修改系统表数据,对于出现"不允许对系统目录进行即席更新"问题如何解决?(注使用 ALTER DATABASE database_name SET EMERGENCY后再修改仍提示出错)
2.在SQL2005下如何自动生成ldf文件?(注因本人试图用mdf文件自动生成ldf还原数据)
--
背景:SQL2005上考试…
[/Quote]
你附加的是2000的mdf還是2005的mdf?
claro 2008-11-04
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 claro 的回复:]
明天给帖子加分。希望大家讨论出一些实用的结果。
对于SQL2005的分离操作导致数据库文件无法再附加的情况,相信大家都可能遇到。对于数据不重要或者做过备份而言,基本上都会再次新建数据库通过还原的方式处理。但是数据重要且只有mdf和ldf文件的情况下如何恢复呢?
是否遇到SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确的情况就没有办法了?
希望前辈们深度思考,还有别的办法吗?
[/Quote]
帖子已加分,希望前辈们讨论出一些实用的结果。在此,先谢谢大家了。
lao_bulls 2008-11-04
  • 打赏
  • 举报
回复
学习了。
claro 2008-11-04
  • 打赏
  • 举报
回复
感谢linguojin11给出了数据库修复时,对于日志文件损坏或丢失的情况,如何处理的方法。
--那么数据库mdf出现异常(比如zjcxc前辈推断mdf有问题【SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:199998,但实际为 0:0)。在文件 'F:\PWMSDATA\pwms.mdf' 中、偏移量为 0x00000061a7c000 的位置对数据库 ID 15 中的页 (1:199998) 执行 读取 期间,发生了该错误。 】),而有ldf文件时,是否也有处理方法呢?
linguojin11 2008-11-04
  • 打赏
  • 举报
回复
SQL Server 2005数据库日志文件损坏的情况下如何恢复数据库 
1)SQL Server 2005数据库删除日志文件

DUMP TRANSACTION DatabaseName WITH NO_LOG;declare @fileid int;select

@fileid=fileid from sysfiles where name like '%Log';dbcc shrinkfile(@fileid)



2)在某些偶然的情况下,会引起SQL Server 2005数据库日志文件的损坏,比如:硬件故障、计算机非正常重启或关机。
当SQL Server 2005数据库日志文件损坏时,可能会出现以下情况:
1、在SQL Server Management Studio中显示数据库处于置疑(suspect)状态。
2、事件日志可能会出现如下错误信息:
Could not redo log record (21737:686:9), for transaction ID (0:2334886), on page (1:37527), database 'Test' (database ID 15). Page: LSN = (21735:299:5), type = 2. Log: OpCode = 3, context 19, PrevPageLSN: (21737:615:1). Restore from a backup of the database, or repair the database.

During redoing of a logged operation in database 'Test', an error occurred at log record ID (76116:286:2). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
3、无法分离数据库
4、用CREATE DATABASE DBName ON ( FILENAME = N'DBFile' ) FOR ATTACH_REBUILD_LOG附加数据库时出现提示:The log cannot be rebuilt because the database was not cleanly shut down.

恢复方法:
1、停止数据库服务。
2、将需要恢复的数据库文件复制到另外的位置。
3、启动数据库服务。
4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
5、新建同名的数据库(数据库文件名也要相同)。
6、停止数据库服务。
7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。
8、启动数据库服务。
9、运行alter database dbname set emergency,将数据库设置为emergency mode
10、运行下面的命令就可以恢复数据库:


use master

declare @databasename varchar(255)

set @databasename='要恢复的数据库名称'

exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态

上面的方法是通过.mdf文件恢复数据库,即使log文件丢失也可以恢复。
claro 2008-11-04
  • 打赏
  • 举报
回复
看赵伟涛编写《SQL2005奥秘》一书中提到数据存储的一些有用信息,看来对于数据库故障的案例关注的人太少,希望不要像我一样遇到问题再满世界找答案。
中国风 2008-11-03
  • 打赏
  • 举报
回复
05的數據庫MDF損壞

備份損壞的日志文件
還原以前備份,再通過日志文件還原
中国风 2008-11-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 claro 的回复:]
请教  zjcxc:
您刚说,先保证断开所有用户连接。
--在SQL2005中分离数据库时,有个选项是删除连接,此作用不是分离前断开用户的连接吗?(注:因为在2K下分离前可以断开连接。

[/Quote]

在分離—雙擊連接—清除連接
claro 2008-11-03
  • 打赏
  • 举报
回复
回复happyflystone:
SQL Server 错误日志和系统事件没有发现特别提示。
--不过从日志分析,
Setting database option SINGLE_USER to ON for database PWMS. 2008-10-30 18:13:56
接着仍有客户端连接该数据库的错误提示,没有其他特别信息。
--可能像zjcxc说的,mdf 文件有问题。请问在SQL2005中分离数据库时,有个选项是删除连接,此作用不是分离前断开用户的连接吗?(注:因为在2K下分离前可以断开连接)

-狙击手- 2008-11-03
  • 打赏
  • 举报
回复
看看SQL Server 错误日志或系统事件日志中有什么提示
加载更多回复(20)
1. 实习公司简介 北京东方迪格软件有限公司是一家专业的高校实验室解决方案商,公司致力于我国高等院校实验室管理系统和实训方案的构建与实施,专注于高等院校实验室管理信息系统( MIS )方面的设计、开发、销售和技术服务等业务。 2. 今天是我来到北京东方迪格软件有限公司实习的第一天。我提前了半个小时来到了办公室,我发现同事们也已经陆续的到达了。我首先找到了行政部的田小姐办理了入职的必要手续,她很热情地给我介绍了公司的整体概况,同时交给了我一些公司产品的简介和操作手册。这是我进入公司实习的第一步,了解公司的企业文化,以及公司的主要业务和产品。 上班第一天,没什么工作,老板和其他的工作人员都很忙,我也就知趣的找个地方呆着,开始翻阅着手头已经拿到的资料。刚来公司,自己就要机灵些,要谦虚好学,多去了解,要去观察去倾听,看忙着的人是怎样做事的,他们是如何与人打交道的。 3. 我被分配到了技术部,技术部主要负公司软件产品的安装以及售后维护,需要对公司产品的原理和概念有深入彻底的了解同时还需要有和客户交流沟通的技巧和能力。技术部的软件安装维护工作虽然是企业部门运营的一个小侧面,但关系到企业在广大客户心目中的形象,关系到企业参与全国范围的计算机软件销售竞争的魄力及品牌亲和力。 虽然我之前对计算机软件这方面的知识有所了解,但公司的这些软件以前都没有接触过,所以还是需要学习大量的知识。公司的软件产品主要是金融、保险、银行类的实验室教学软件,要想了解这些软件产品除了要有基本的计算机知识外还需要有金融、保险、银行方面的专业知识。接下来的时间要学习的东西还有很多。 4. 今天技术部有经验的同事给我仔细讲解了公司软件产品安装和维护中的每一款注意事项,还现场演示了公司的一款叫“商业银行综合柜面业务实训教学软件”的软件产品的安装流程以及操作系统、软件系统的配置。 下午我公司行政部田小姐为我分配了一台笔记本电脑,作为我的工作之用。我开始练习公司软件产品的安装和操作演示。 5. 公司的软件产品所使用的数据库各不相同,有MS SQL Server、MYSQL、ORACLE、Db2、Sybast、informix等等,我在学校里面接触的数据库软件仅仅只有MS SQL Server这一种。现在终于体会到人们在说“书到用时方恨少”这句话时的无奈心情了。从上午开始,我尝试着上网去查找相关数据库的一些资料,下载了一些教程来自习,希望能对这些数据库软件能有一个初步的了解。 6. 今天一个客户给我们打来电话说他们使用的软件不能连接上服务器了,这款软件昨天还是可以正常使用的。我们的第一反应是不是客户端软件的缺陷导致软件故障。询问了有关软件出现故障时的错误提示信息后初步判断是由于客户误操作修改了服务器的IP地址,于是引导客户修改服务器的IP,之后故障消失。 认真细致,不放过任何一个细节。这是我今天的感悟。 7. 北京东方迪格软件公司于2006年4月底顺利通过ISO9001(2000版)国际质量体系认证,公司的管理已经比较规范了。每周一上班之后部门经理会召集本部门的人员召开一次总结早会,由每个成员轮流总结发言自己过去一周说做的工作以及完成情况和还存在的问题。每天下班时间到来时需要登录公司的在线办公平台填写自己一天所做的工作以及完成情况和需要解决的问题,每周五下班之前也要填写这一周的工作总结和下周的工作计划,部门经理和总经理会查看每一个人的记录并作出点评。这些措施有利于每一名员工做好自己的工作计划和总结,部门经理和总经理也能借助这个平台掌握员工的工作状态及存在的主要问题,利于他们作出合理的决策。 8. 与人和睦相处,良好的进行沟通,是一名实习生必须要学会的。在与人相处方面,我一直坚信,诚实加真心,自尊与尊重他人,肯定不会被拒于千里之外的。首先和同事相处,我只是一个实习生,很多事情要多看多学,我所有的同事都是我的老师,前辈,工作过程中,怎么发挥团队的作用,协调内部关系,我学会的是尊重和礼貌。做为一名技术支持部门得员工,直接面对的是客户,你的工作的质量甚至一句话都可以影响客户对公司以及公司的软件产品的信心。如何在配合销售部门给客户演示产品时用恰当的语言把公司的软件产品的优良特性展现给客户,让客户听能真正了解自己的需求,同时信赖我们的软件产品,进而选择和你合作,是作为一名技术部门的员工所必须要学习的课程。当然,光有这些还是不够的,我们还得有过硬的专业知识,在客户遇到技术问题时我们能第一时间高效准确的处理故障,这样才能真正建立客户对我们产品的认可度。 9. 今天中午下班时间到了,由于中午的休息时间不多所以大家都是叫快餐在公司吃饭。我来到这里也有一段时间了,对这里也有一点熟悉了,于是我也就自告奋勇的说要帮大家定一次快餐。很快,我顺利的为大家定好了快餐。吃饭时闲聊,大家除了对我说了些客气的话外,有两个看似资历很老的同事还说我很好学,还知道我上午都看了些什么,姜还是老的辣,就这样悄无声息的去观察你。所以,有的时候你不要怀疑自己做的无法得到认可,其实有人已经看在眼里了。下午也就是自己看公司的软件资料了,一天很快就过去了。 10. 今天周五,我们下班之后同事们决定把办公室收拾收拾,我一看,这我也不能干站着看啊,就帮着一起忙活起来了,说实话因为北方的干燥加沙尘天气,办公室里面总是很快就会堆积灰尘,确实应该好好清理一下了,我们几个人差不多忙活了一个多小时,把地面,窗户什么的都擦哦干干净净的,可累坏我了。不过看着干净的办公室,那心情好的确实没法说。这毕竟是每天上班的地方,呆的时间长,环境好,心情也好,工作效率也就高。 11. 今天周一,我们经理说下午要开会,需要制作一个PPT,他上午没有空,问我们几个谁能给他做一下PPT。我对做PPT还是蛮熟悉的,就自告奋勇的承担 了这一任务。我向他要来了下午开会的大体内容并询问了一下他的大体意见,样式之类的,之后就开始忙活了。其实,单做一个基本的PowerPoint文件不用多少时间,但要做出一个图文并茂、生动的ppt就不容易了。我借助网络的力量,收集在线模板,查找图片素材差不多用了一个上午的时间终于完成了这个PPT。下午开会使用这个PPT一切顺利。 12. 今天下午刚上班不久,公司一同事要打一份客户资料,可能是他还有其他重要的事情要忙,就把这个资料交到我手里说能不能帮他打这份资料。我是新来的员工,比较不忙,哪能说不行啊,就接过来了。接过来我一看,好家伙,密密麻麻少说也有三四千字啊,没办法,赶紧开始打吧。好在我在学校也经常打字练习,盲打每分钟也能打六七十个汉字,经过一个多小时的工作,终于完成任务了! 这件事情让我觉得平时点滴的积累真的是很重要,如果我以前从不练习打字的话,今天这任务估计就不能这么顺利完成了。 13 今天下午3点左右公司接到一个客户的点话说,他使用我们的软件准备第二天的上机实践课的时候电脑忽然黑屏了,而且接下来就开不了机了。我们一听,觉得如果不是他的电脑出现故障的话就是我们的软件跟其他软件起冲突破坏了操作系统。我们觉得事态严重,如果不及时处理就会严重影响我们公司软件产品的声誉。于是我跟着技术部的另一个同事马上赶到了客户那里。我们查看了那个电脑,试着按下电源开关,电源灯只是闪了一下就没有反应了。我首先的感觉就是,这应该是电脑的硬件故障,不是我们的软件故障,但基于对客户负责的态度,我们帮客户检查了一下机箱,发现CPU风扇已经不转了,应该是风扇先坏掉导致CPU过热而烧毁。我们建议客户更换CPU并加装更大功率的CPU风扇,注意防尘。之后故障排除,客户电脑恢复正常,又可以继续使用我们的软件了。 14. 今天公司给我和另一位新来的技术部的同事进行了第一次培训。培训的内容主要有:1.产品的演示与操作。2.产品演示与销售之间的流程和关联(注重配合)3.技术流程(演示、培训)4.技术职责,前景。5.学校项目申报和审批流程。6.方案的撰写和实施。我们还讨论了个人的职业发展规划。 15. 今天我准备学习下方案的撰写,一个成功的方案设计除了内容充实、要有很强的可行性之外,规范的格式也是必不可少的。而要排版出美观规范的板式就需要有扎实的OFFICE功底了。针对方案的设计要求,我重点关注了目录的生成、项目符号、编号以及表格设计等。 这些OFFICE方面的知识其实以前在学校也或多或少的接触过,只是因为长时间不使用而变地生疏了。经过查看OFFICE方面的书籍以及上网查找,不但复习了旧的知识还学到了不少新知识。看来“温故而知新”这句话真的是很有道理的啊。 16. 今天上班的时候忽然发现,办公室里面的每一台电脑的网速都很平均,不像在学校宿舍里面自己组建的网络有的快有的慢。询问了同事之后终于知道了缘由。原来这里的网线布置的比较合理,这里一律是交换机上插几个下一级的交换机,再把所有的机器都接在下一级的计算机上。这样,大家的速度都比较平均,而且单位里没有人利用电驴之类的BT软件不停的下载。而我们学校宿舍里的网络因为交换机不足的原因基本都是有人接在上一级交换机上,有的接在下一级的交换机上,还经常有人一直开着BT软件下载电影之类的。这样宿舍的网络就速度不品均而且慢了。 合理的布局能带来工作效率的提高。 17. 今天在和一个同事交流的时候得到了一个好东西,我发现这位同事有一本工作日记,我跟他借来看了一下,里面记载的都是他在工作中遇到的各种各样的问题,有遇到问题的时间、地点、故障的触发条件、故障现象的详细描述、合理的解决方法以及心得体会等等。这些都是宝贵的工作经验财富,我抱着看了一天,真是长见识啊。我马上也决定开始做一本这样的详细的工作日志,这对自己以后的工作学习一定大有裨益。 18. 今天,单位财务部的一个同事悄悄的把我叫到她那里,原来,他在上网的时候不小心点击了一个流氓网站,之后IE的主页被修改成那个流氓网站并且被锁定了,很讨厌。而她不像我们是学计算机的,自己不会处理,又不好意思让其他同事来帮忙,毕竟在工作时间上网也不是什么光彩的事情,只好求我这个“外人”帮忙了。 我过去之后看了下,这种问题一般就是几个地方:第一,直接修改IE的Internet选项里面的主页。第二,修改注册表,把流氓网址写入注册表,让IE的Internet选项里面的主页变灰,同时锁定注册表。第三,在快速启动栏的IE快捷方式属性的目标里面加入流氓网址。第四,这中一般比较少见,就是直接在受害者电脑里面植入木马,实时监视IE的主页,一旦发现有改动就立即重新恢复为流氓网址。 清楚了以上这这些问题就好解决了,我使用工具将IE的主页强制恢复为空白页并修复注册表的异常键值,然后进入安全模式使用最新的杀毒软件彻底查杀一遍,之后问题解除。 19. 今天是我在单位实习的最后一天了,今天的工作主要就是办理好交接手续,同时做好实习材料的整理并找单位相关部门盖好公章。 在这个大家庭里面呆了这么长一段时间,就要离开了,真有点舍不得。同事们都为我送来了临别的祝福。很感激在实习的这段时间大家给我的关照,谢谢东方迪格的同事们。 20. 实习生活终于结束了,通过这段时间的实习,不但让我学到了很多新的专业知识,还学到了很多在学校里面学习不到了知识,让我学会了怎么样更好的处理跟同事们的人际关系以及如何更好的跟客户交流沟通,这些对于马上就要离开校园走上工作岗位的我来说至关重要啊。 马上就要启程回到熟悉的校园了,想到很快就能跟分别很久的同学们见面真的很高兴。母校,我回来啦!
此文件是MyFll.fll文件不可分割的一部分,包含对MyFll函数库全部说明及示例。 MyFll是专为Microsoft Visual FoxPro设计的扩展库,部分函数来自任明汉(RMH myF1论坛)前辈提供的myDll代码翻译而成,由于很多功能利用VFP处理比较烦锁,或无法实现,使用此库可有效解决VFP的弱项。部分与Win32Api同名的函数,是Win32API的封装。部分函数取自网上开源算法,在相关函数中均有注明。 此源代码使用VC6 sp6开发,采用VFP9 Sp2的库文件,理论上可以应用于VFP6 7 8 9版本。 此库在第一次打开时自动添加智能感应功能已关闭。请在打开后,使用FllAddFoxCode()向智能感应库添加所有的函数原型(需要VFP7以上),此库存所有函数使用VFP推荐的命名规则,一般可以根据函数名和知能感应的提示参数来推测参数及返回值。 开发环境可以使用FllHelp()函数来检查函数信息: 取得此版本函数个数:FllHelp() 取得第x个函数的信息:?FllHelp(x) 显示提示信息:?FllHelp(x,.T.) 显示指定函数的信息:FllHelp("SendMessage",.T.) 显示Fll的版:?FllGetVersion() 添加智能感应代码:FllAddFoxCode() 版本信息:由于不定期更新,请及时核对版本(右键属性),版本为X.X.X.X,第一位为主版本号,第二位为函数个数,第三位为发布的年份,第四位为日期。当前版本为:1.179.9.811 版权:你可以自由使用、散发此函数库及此帮助,包括应用于你的商业软件中。在转发时应注意帮助文件于函数库和帮助同在。不得对软件进行破解、反编译等破性或逆向工程。MyFll作者不承担可能由于技术原因或失误给你带来的错误或损失。发现错误可以与作者取得联系共同改进。 感谢:我的帮助论坛http://www.myf1.net/bbs 梅子论坛 http://www.meizvfp.com/bbs 感谢:各位为Myfll做测试、编写帮助的热心网友。 作者:木瓜 ljyit@163.com 函数列表: 硬件相关函数: GetDiskSerial        读取指定硬盘的序列号 GetCpuId           读取CPU的序列号 GetMAC            读取网卡的MAC地址 GetVolumeNumber       读取指写磁盘的卷标 IsDiskInDrive        检查指定磁盘是否就绪 GetPort           读取系统的串口、并口 ComOpen           打开串口 ComWrite           向串口输出信息 ComRead            从串口读取信息 ComClose           关闭串口 GetGUID            获取全球唯一ID AEthernet          枚举网卡的所有信息 加密解密函数: MD5File           计算一个文件的MD5效验和 MD5String          计算一个字符串的MD5效验和 CRC32File          计算一个文件的CRC32效验和 CRC32String         计算一个字符串的CRC32效验和 des             采用DES算法加密或解密一个字符串,长度为8位 des16            采用DES算法加密或解密一个字符串,长度为16位 des24            采用DES算法加密或解密一个字符串,长度为24位 EnDeString          双向加密解密字符串的函数 Encrypt           双向加密解密字符串 RSACalc           RSA计算函数 RSAGen            生成随机RSA密钥函数 RSACmp            比较两个十六进制值是否相等 URLEncode          URL编码 URLDecode          URL解码 QPEncode           Quoted-Printable QP编码 QPDecode           Quoted-Printable QP解码 压缩解压函数: Zip              压缩文件 UnZip             解压文件 UnZipFile           解压单个文件           ZipInfo            测试一个文件是否在压缩文件中存在 ZipFileToStr         将压缩文件中的文件解压到变量 ZipAFile           将zip文件中的文件信息生成的数组 CompressString        压缩一个字符串 DeCompressString       解压字符串 数据库: CursorToStr         将Cursor生成变量 ChangesToStr         将Cursor的变动情况生成变量         StrToCursor         将变量还原为Cursor AppendFromStr        将变量中的表追加到指定表中 ACursorList         将变量中的表信息生成数组 ACursorFields        将变量中的指定表的字段信息生成数组 CRC32Record         计算一条记录的CRC32值 SQLCallBack         SQL回调函数载入 SQLCallReset         SQL回调函数卸载 PackMDB           压缩修复Access数据库 ReadMemo           读取vfp中大于16M的备注字段 网络相关函数: DownFile           从internet上下载文件到本地 DownFileX           线程方式从网上下载一个文件 HttpGetFileSize       读取internet上的文件大小 HttpPostData         向http服务器Post数据 HttpOpen           打开一个Internet句柄 HttpAddParms         为Http句柄添加一个参数 HttpSend           发送Http句柄中的Post数据 HttpClose          关闭Http句柄 FtpDownFile          从FTP服务器下载文件 FtpUploadFile        向FTP服务器上传文件 FtpConnect          连接FTP服务器 FtpDisconnect        断开FTP服务器连接 FtpAFile          枚举Ftp中的所有文件 FtpCreateDir        在FTP服务器上创建一个文件夹         FtpSetCurrentDir      设置当前的文件夹 FtpDeleteDir        删除FTP服务器上的文件夹 FtpDelFile         删除FTP服务器上的文件 FtpRename          重命名FTP服务器上的文件 FtpFOpen          打开FTP服务器上的文件 FtpFClose         关闭FTP服务器上的文件 FtpFRead          读取FTP服务器上的文件 FtpFWrite          写入FTP服务器上的文件 FtpSetPasv          设置FTP被动工作模式 ShareAdd           在局域网共享文件夹 ShareDel           删除共享文件夹的共享 ShareMapDrive         映射网络驱动器 ShareDelDrive         删除映射的网络驱动器 GetLocalIP          读取本机IP DomainToIP          转换域名为IP地址 DialUp            建立拨号连接 DialDown           断开拨号连接 GetSqlServer         列出所有网络上的SQL Server IpToMAC           根据IP得到MAC地址 邮件函数: SmtpCreate          创建一个SMTP发送邮件的句柄 SmtpNewMail         在内存中创建邮件内容,等待发送 SmtpSend           发送邮件 SmtpGetLastError       检测邮件最后的错误 Pop3Create          创建一个POP3接收邮件的句柄 Pop3Close          关闭句柄 Pop3AMailList        枚举POP3服务器上的邮件数量 Pop3DeleteMail        删除POP3邮件服务器上的邮件 Pop3GetMail         下载一封邮件 Pop3GetMailHeader      下载邮件头 Pop3DeleteMail        删除服务器上的邮件 打印相关函数: PaperAdd           添加自定义纸张并返回ID PaperDel           删除自定义纸张 PaperInfo          读取所有纸张信息或指定纸张信息 APaper            枚举所有纸张生成数组 GetDefaultPrinter      取得默认打印机的名称 SetDefaultPrinter      设置默认打印机 PrinterOpen         启用一个打印任务 PrinterOutPage        打印页对像 PrinterClose         结束打印 常用转换函数: ToPY             生成指写字符串的拼音首字 NToC             数字转人民币大写 hzbh             计算指定字符串的汉字笔划 StringToDword        将高底位存放的字符串,转换为字符型 DwordToString        将整型数值转换为字符型数值 NumConver          进制转换函数,能够将一个数字转换为2至36进制的字符串 ConverNum           将指定进制的字符串转换为数值型 GB2312ToBIG5         简体转繁体 BIG5ToGB2312         繁体转简体 FormToBmp          将表单保存为BMP图片 RectToBmp           指定屏幕区域保存为bmp图片 StrReverse          指定屏幕区域保存为bmp图片 ImageConver         转换图片格式 FTrim            删除字符串中除指定字符以外的字符 Thumbnail          缩放图片 注册表读写函数: regRead           读取注册表中的设置 regWrite           向注册表中写入设置 regDelKey          删除注册表中的分支 regDelValue         删除注册表中的设置 ini文件读写函数: iniRead           从ini文件中读取设置 iniWrite           向ini文件中写入一个设置 iniSet            设置默认的数据段和ini文件 iniSetSection        设置默认的数据段 iniSetFileName        设置默认的ini文件 系统托盘 SysTrayAdd          向系统托盘添加一个图标 SysTrayEdit         修改系统托盘的图标 SysTrayDel          删除系统托盘中的图标 HotKeyAdd          向系统注册一个热键 HotKeyDel          删除向系统注册的热键 SysTrayShowMessage      显示托盘消息 文件操作 CopyFiles          复制文件 MoveFiles          移动文件 DeleteFiles         删除文件 CreateShortcut        创建快捷方式 GetIcon           释放exe或dll中的图标 其它: SetVFPEvents         设置MYFLL内部函数回调功能 SetDateTime         设置Windows系统时间 ChangEres          更改屏幕的分辨率 idleLoad           开始加载空闲检测 idleSeconds         读取系统空闲时间 idleUnload          卸载空闲检测 KillApp           终止指定进程 KillAllApp          终止所有进程,但排除指定标题的进程 KillProcessByName      根据程序文件名杀死一个进程 FindAllFile         查找指定文件夹下的所有文件 IsNum            检测函数是否是数字 CheckProcess         检测主程序是否重复运行 ProcLoad            载入一个VFP函数,取得函数地址 ProcUnload          卸载函数 MemRead           读取指定地址的内存 MemWrite           写入指写内存 PushError          系统错误处理压栈 PopError           系统错误处理出栈 Format            格式化输出字符串(类C语言) CreateLink          创建文件关联 DesktopHide         隐藏桌面 SystemKeySet         禁用系统键 RegisterFile         注册文件名解除文件注册 封装过的Win32 API函数: FindWindow          查找指定窗口的句柄 SendMessage         向指写窗口发送指定消息 PostMessage         将消息投递到指定句柄的消息队列 ShowWindow          显示指定窗口 ShowWindowAsync       显示指定窗口 SetWindowLong        设置窗口的扩展样式 SetLayeredWindowAttributes  设置窗口效果 SetForegroundWindow     激活指定窗口使这成为最前面的窗口 ShellExecute         调用系统关联,打开一个文件 ShellExecWait        调用一个程序,并等待执行结束 SuspendThread        暂停一个线程 ResumeThread         恢复一个线程 Beep             使电脑内喇叭发出beep声 ExitWindowsEx        退出Windows Sleep            程序挂起nMilliseconds毫秒 ExitProcess         终止当前进程 GetLastError         返回最后的错误号码 SetParent          设置窗口的父窗口 UpdateWindow         更新窗口

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧