不可识别的数据库格式怎么办
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不可识别的数据库格式怎么办相关的知识,希望对你有一定的参考价值。
我用的是vs2008 创建的是2007的access的accdb格式的数据库 怎么会出项不可识别的数据库格式呢 谢谢
顺便问一下这句话是什么意思
@"Provider=Microsoft.Jet.OLEDB.4.0;Data source="
我该怎么改呢
在Access07之前的数据库后缀名均为*.mdb 而连接字符串写成Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\myFolder\\*.mdb ;Persist Security Info=False;
但是Access07和Access10将后缀名改为了*.accdb。而通过上述连接的话就会报出"不可识别的数据库格式"异常。
需要注意的是Microsoft.Jet.OLEDB.4.0的Oledb的连接方式是比较老的连接方式,而07以后的Oledb连接方式将改成Microsoft.ACE.OLEDB.12.0。
改后的连接变成了Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\myFolder\\*.accdb;Persist Security Info=False; 参考技术A 这句话是说所使用的提供器是jet oledb 4.0的。 参考技术B 回答
您好,这边正在为您整理答案,稍后马上回应您。
access2003或以前版本的数据库系统,现打开显示不可识别数据格式,显示不可识别的数据库格式 你的文件路径.mdbaccess2007或更高版本(access2010 2013 2016)的数据库系统,现打开显示不可识别数据格式,显示不可识别的数据库格式 你的文件路径.accdb各种症状的描述 :1.原系统65.800kb,后打不开查看系统180kb; 我已知道没法修复,应该是数据丢失了!我一直在分析如何造成,以后如何避免!万幸有数据备份!只丢失部分数据!2.ACCESS文件打开出错,显示不可识别,求修复! 因里面录入了许多数据3.access是在2003下做的,在2003下打开很正常,可是在2010下打开,显示不可识别的数据库格式,以前在2010下打开也很正常,今天怎么就不行了?4.用access打开数据库出现“不可识别的数据库格式”,请帮个忙 用accessfix也不能修复(发两个表错误,但不能修复),用excel也不能打开。出现 这种问题的原因有很多方法1.可能Access数据库版本过高 或过低2.可能数据库损坏3.可能数据库加密解决办法1.使用最新的Access版本来打开(如使用Access 2010,Access 2016) 2.如数据库损坏,使用access数据库修复工具,先可考虑使用Access自带的压缩修复功能,如不行,使用Access第三方修复工具 access修复工具:http://www.access-cn.com/download/list-272-cn.html3.如果是数据库加密了,需要找到解密方法或联系原作者4.尽量避免用不同的Access版本打开同一个文件,如果不同版本来回切换,有时会损坏数据库,特别是窗体及VBA代码。5.Access数据库有大的修改和变动前后,一定要多做备份
参考技术C @"Provider=Microsoft.Jet.OLEDB.4.0;Data source=access.mdb"本回答被提问者采纳 参考技术D 谢谢楼主啊,我找了很久,原来是这个问题~~Fastqc 能够识别的碱基编码格式
Fastqc 能够自动识别序列的碱基编码格式,我查看一下源代码,发现是碱基编码格式一共分为
1)sanger/illumina 1.9
2) illumina 1.3
3) illumina 1.5
其核心的代码为
public static PhredEncoding getFastQEncodingOffset(final char lowestChar) { if (lowestChar < ‘!‘) { throw new IllegalArgumentException("No known encodings with chars < 33 (Yours was " + lowestChar + ")"); } if (lowestChar < ‘@‘) { return new PhredEncoding("Sanger / Illumina 1.9", 33); } if (lowestChar == ‘A‘) { return new PhredEncoding("Illumina 1.3", 64); } if (lowestChar <= ‘~‘) { return new PhredEncoding("Illumina 1.5", 64); } throw new IllegalArgumentException("No known encodings with chars > 126 (Yours was " + lowestChar + ")"); }
通过找到对应的ASCII值最小的碱基质量值来判断对应的编码格式,
在ASCII码表中, ! 代表33, @ 代表64,A 代表65,~ 代表 126
在维基百科关于fastq格式的描述中介绍了碱基编码的各种格式
在sange format 中采用 33到126 表示0到93, 所以sange 格式的偏移量为33
从illumina 1.3 开始,使用 64和126 来表示0到62, 所以illumina 1.3 格式的偏移量为64
从illumina 1.5 开始,0和1不在使用,最低的质量值为66,
从illumina 1.9 开始,又采用和sange 一样的编码格式
所以如果碱基质量的最低值如果小于64,则不可能是illumina 1.3 和illumina 1.5 的格式,因为这两种格式中最低的质量值都是64,
为什么碱基最低的等于65就是illumina 1.3 这里没看懂
小于33或者大于126都是未知的编码格式
以上是关于不可识别的数据库格式怎么办的主要内容,如果未能解决你的问题,请参考以下文章