显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

NDEB Exam Busters

加拿大 NDEB High-Yeild Group

 
 
 
 
 
 
 
 

海外 加拿大 狮子座

 发消息  写留言

 
NDEB, NBDE, Part1, Part2, 移民, 考试 资料库 真题 AFK, National Board Dental Exam, Foreign Trained, 下载, Download, 美国 加拿大 牙医资格考试
 
近期心愿http://vancouver.craigslist.ca/van/lss/4676875485.html
人生格言中国交通很行 中国农业很行 中国工商很行 中国建设很行 中国人民很行 中国很行
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
NDEB AFK, ACS, ACJ  是否让您觉得是一座座难以逾越的大山?
请电邮联系
mail to: 
ndebinc@gmail.com 

NDEB AFK one-on-one tutoring (Vancouver)

http://vancouver.craigslist.ca/van/lss/4676875485.html
http://www.kijiji.ca/v-view-details.html?adId=1020184747
http://www.kijiji.ca/v-view-details.html?adId=1020187381
http://vancouver.craigslist.ca/van/lss/4676875485.html





作者  | 2014-9-20 20:50:36 | 阅读(21) |评论(0) | 阅读全文>>

恒牙萌出顺序(屡考屡胜) The sequence of eruption of the mandibular permanent teeth is normally - godsonx - NDEB Board Busters

http://www.aapd.org/media/Policies_Guidelines/RS_DentGrowthandDev.pdf



Permanent first molars begin calcification at

A. 1 to 4 months in utero.
xxB. birth.
C. 3 to 6 months.
D. 7 to 11 months.
E. 12 to 15 months. 



The sequence of eruption of the mandibular permanent teeth is normally
1. central incisor.
2. lateral incisor.
3. canine.
4. first premolar.
5. second premolar.
6. first molar.
7. second molar.
A. (6)(1)(2)(4)(5)(3)(7)
B. (6)(1)(2)(3)(5)(4)(7)
C. (1)(6)(2)(3)(4)(5)(7)
D. (6)(1)(2)(3)(4)(5)(7)

answer: D



Maxillary  上颌
------------------------- 6124537
Central  7-8 years
Lateral  8-9 years
Canine  11-12 years
First premolar  10-11 years
Second premolar  10-12 years
First molar  6-7 years
Second molar 12-13 years
Third molar  17-21 years


Mandibular   下颌
------------------------------ 6123457
Central  6-7 years
Lateral  7-8 years
Canine   9-10 years
First premolar   10-12 years
Second premolar  11-12 years
First molar  6-7 years
Second molar  11-13 years
Third molar  17-21 years


http://www.aapd.org/media/Policies_Guidelines/RS_DentGrowthandDev.pdf



恒牙萌出顺序(屡考屡胜) The sequence of eruption of the mandibular permanent teeth is normally - godsonx - godsonx的博客
 
==============================================================
http://www.uic.edu/classes/osci/osci590/index.html
http://www.uic.edu/classes/orla/orla312/OCCREVIS.htm
http://www.uic.edu/classes/orla/orla312/OCCREVIS.htm
http://www.uic.edu/classes/osci/osci590/9_2TH.htm
http://www.uic.edu/classes/osci/osci590/index.html



恒牙萌出时间及顺序   恒牙的萌出同样存在着性别、上下颌等之差异,也受到地区、种族、遗传等影响。

其萌出顺序一般可概括为:

上颌:6->1->2->4->5->3->7

下颌:6->1->2->3->4->5->7

或为

上颌:6->1-2>->4->3->5->7

下颌:6->1->2->4->3->5->7


上述二种萌出顺序,占大部分。恒牙的萌出时间和顺序,每个人和不同人种存在着差异,较乳牙明显。萌出顺序上的差异,往往为导致错合形成的原因。例如上颌顺序为6、1、2、4、7、3、5,而下颌为6、1、4、3、7、5时,则往往出现单尖牙的唇向错位,第二双尖牙的舌向错位等。因此对牙的替换萌出时间及顺序,应给予密切的观察。


http://www.aapd.org/media/Policies_Guidelines/RS_DentGrowthandDev.pdf



国内的课本:

http://ss.bjmu.edu.cn/elite/or/content/2-more013.htm

作者  | 2012-1-24 8:03:29 | 阅读(39) |评论(0) | 阅读全文>>

紧急口粮

2014-9-22 21:43:05 阅读13 评论0 222014/09 Sept22

牛肉、鸡胸肉、火腿、熏鱼、肉馅条(Meat loaf)、辣通心面、贝类、蔬菜等多种口味的军粮可选,适应美军这个多民族、多种族、多宗教信仰、多饮食习惯的大杂烩军队的需要。

24种不同口味具体菜单请参考如下:

CASE A MENU (1-24)

1-Chili with Beans 红辣椒豆

2-Chicken Fajitas 墨西哥鸡肉饭

3-Chicken with Noodles 鸡面

4-Pork Sausage w/Gravy 猪肉香肠/肉汁

5-Mediterranean Chicken 地中海鸡肉

6-Beef Roast w/Vegetables 墨西哥牛肉卷饼

7-Beef Brisket 牛腩

8-Meatballs with Marinara Sauce 用蕃茄酱肉丸

9-Beef Stew 红烩牛肉

10-Chili & Macaroni 辣椒和通心粉

11-Vegetable Lasagna 蔬菜烤宽面条

12-Spicy Penne Pasta 香辣彭内面食

13-Cheese Tortellini 芝士饺子

14-Ratatouille 蔬菜杂烩

15-Mexican Style Chicken Stew 墨西哥式炖鸡肉

16-Pork Rib 排骨

17-Maple Sausage 枫糖香肠

18-Beef Ravioli 意式牛肉馄饨

19-Sloppy Joe 碎牛肉三明治 牛肉馅饼 墨西哥辣椒

20-Spaghetti with Meat Sauce 意大利肉酱面

21-Lemon Pepper Tuna 柠檬胡椒金枪鱼

22-Asian Beef Strips 亚洲牛带

23-Chicken Pesto Pasta 鸡肉意面

24-Southwest Beef & Black Beans 西南牛肉和黑豆

每一包完整的XMRE 1300XT包含:

一份8盎司的主菜

一份饼干或面包

2-3份点心/甜品/配餐

一份水果味饮料包

一份酱料/酱汁

一小包速溶咖啡

一个非乳奶精(咖啡伴侣)

一包一次性湿巾

勺子

餐巾

无焰加热器

所谓无焰加热是利用金属氧化来产生热量,只要少量水就能使之达到沸点,蒸汽很快可以加热口粮

作者  | 2014-9-22 21:43:05 | 阅读(13) |评论(0) | 阅读全文>>

python: Tk 对比 config() 与 [] =

2014-9-16 18:01:56 阅读23 评论0 162014/09 Sept16

from Tkinter import *

class Application(Frame):
    def say_hi(my_demo):
        print "hi there, everyone!"

    def createWidgets(my_demo):
        my_demo.close = Button(my_demo)
        my_demo.close.config(fg = "yellow", bg = "blue", text = "Quit", command  = my_demo.quit)
        my_demo.close.pack({"side": "left"})

        my_demo.hi_there = Button(my_demo)
        my_demo.hi_there["text"] = "Hello",
        my_demo.hi_there["command"] = my_demo.say_hi

        my_demo.hi_there.pack({"side": "left"})

    def __init__(my_demo, master=None):
        Frame.__init__(my_demo, master)
        my_demo.pack()
        my_demo.createWidgets()

root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()

作者  | 2014-9-16 18:01:56 | 阅读(23) |评论(0) | 阅读全文>>

C# How to change font size

2014-9-16 17:57:08 阅读12 评论0 162014/09 Sept16

       private void button_plus_Click(object sender, EventArgs e)
        {
           float smallfontsize ;
           string smallfontname; 
           smallfontsize = label1.Font.Size;
           smallfontname = label1.Font.Name;
           smallfontsize +=5;
           label1.Font = new Font(smallfontname, smallfontsize);

        }

        private void button_minus_Click(object sender, EventArgs e)
        {
            float smallfontsize;
            string smallfontname;
            smallfontsize = label1.Font.Size;
            smallfontname = label1.Font.Name;
            smallfontsize -= 5;
            label1.Font = new Font(smallfontname, smallfontsize);
        }

作者  | 2014-9-16 17:57:08 | 阅读(12) |评论(0) | 阅读全文>>

PYTHON: 为什么要这样 Frame.__init__(self, parent) ??

2014-9-15 17:55:57 阅读27 评论0 152014/09 Sept15





https://docs.python.org/2/library/tkinter.html
http://www.tutorialspoint.com/python/tk_frame.htm
http://zetcode.com/gui/tkinter/introduction/




http://stupidpythonideas.blogspot.ca/2013/12/whats-deal-with-ttkframeinitself-parent.html

In Python 2.x Tkinter code, you see a lot of stuff like this:
 class MyFrame(Frame): def __init__(self, parent, n): Frame.__init__(self, parent) self.n = n 
Why?

Inheritance and overriding

Some people start on Tkinter before getting far enough into learning Python. You should definitely read the Classes chapter in the Python tutorial, but I'll summarize the basics. 

First, you're subclassing (inheriting from) the Tkinter class Frame. This means instances of your class are also instances of Frame, and can be used like Frames, and can use the internal behavior of Frame. 

When someone constructs a MyFrame object by typing MyFrame(root, 3), that creates a new MyFrame instance and calls new_instance.__init__(root, 3). 

You've overridden the parent's __init__ method with your own, so that's what gets called. 

But if you want to act like a Frame, you need to make sure all the stuff that gets done in constructing a Frame object also gets done in constructing your object. In particular, whatever Tkinter does under the covers to create a new widget in the window manager, connect it up to its parent, etc. all has to get done. So, you need Frame.__init__ to get called for your object to work. 

Unlike some other languages, Python doesn't automatically call base class constructors for you; you have to do it explicitly. The advantage of this is that you get to choose which arguments to pass to the parent--which is handy in cases (like this example) where you want to take extra arguments.

Not so super

The normal way to do this is to use the super function, like this:
 class MyFrame(Frame): def __init__(self, parent, n): super(MyFrame, self).__init__(parent) self.n = n 
Unfortunately, that doesn't work with Tkinter, because Tkinter uses classic classesinstead of new-style classes. So, you have to do this clunky thing instead where you call the method on the class instead of calling it like a normal method.

You don't really want to learn all about classic classes, because they're an obsolete technology. (In Python 3, they no longer exist.) You just need to know two things:
  • Never use classic classes when you can help it. If you don't have anything to put as your base class, use object.
  • When you can't help it and are forced to use classic classes (as with Tkinter), you can't use super, so you have to call methods directly on the class.
But how does the clunky thing work?

Unbound methods

If you want all the gory details, see How Methods Work. But I'll give a short version here.

Normally, in Python—like most other object-oriented languages—you call methods on objects. The way this works is a bit surprising: foo.bar(spam) actually constructs a "bound method" object foo.bar, then calls it like a function, with foo and spam as the arguments. That foo then becomes the self parameter that you have to put in every method definition.

Since classes themselves are just another kind of objects, you can call methods on them too, like FooType.bar(spam). But here, Python doesn't have any bound object to get passed as your self parameter—it constructs an "unbound method" FooType.bar, then calls it with just spam as an argument, so there's nothing to match up with your self parameter. (Python could have been designed to pass the FooType class itself as the self parameter, but that would be confusing more often than it would be useful. When you want that behavior—for example, to create "alternate constructors" likedatetime.datetime.now, you have to ask for it explicitly, with the @classmethoddecorator.) So, you have to pass it yourself.

In other words, in this code, the two method calls at the end are identical:
 class FooType(object): def bar(self, spam): print self, spam foo = FooType() foo.bar(2) FooType.bar(foo, 2) 
So, why would you ever use the clumsy and verbose second form? Basically, only when you have to. Maybe you want to pass the unbound method around to call on an object that will be created later. Maybe you had to look up the method dynamically. Or maybe you've got a classic class, and you're trying to call a method on your base class.
Posted  by 



----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
REF:

https://docs.python.org/2/library/tkinter.html
http://www.tutorialspoint.com/python/tk_frame.htm
http://zetcode.com/gui/tkinter/introduction/


http://tkinter.unpythonic.net/wiki/Widgets/TopLevel?highlight=%28%28How_do_I_hide_the_main_toplevel_Tkinter_automatically_pops_up%29%29

作者  | 2014-9-15 17:55:57 | 阅读(27) |评论(0) | 阅读全文>>

Python: 用Python Tkinter Frame画第一个 Window

2014-9-15 8:55:53 阅读29 评论0 152014/09 Sept15

http://www.tutorialspoint.com/python/tk_frame.htm

Example:

Try the following example yourself:

from Tkinter import * root = Tk() frame = Frame(root) frame.pack() bottomframe = Frame(root) bottomframe.pack( side = BOTTOM ) redbutton = Button(frame, text="Red", fg="red") redbutton.pack( side = LEFT) greenbutton = Button(frame, text="Brown", fg="brown") greenbutton.pack( side = LEFT ) bluebutton = Button(frame, text="Blue", fg="blue") bluebutton.pack( side = LEFT ) blackbutton = Button(bottomframe, text="Black", fg="black") blackbutton.pack( side = BOTTOM) root.mainloop()

The Frame widget is very important for the process of grouping and organizing other widgets in a somehow friendly way. It works like a container, which is responsible for arranging the position of other widgets.

It uses rectangular areas in the screen to organize the layout and to provide padding of these widgets. A frame can also be used as a foundation class to implement complex widgets.

Syntax:

Here is the simple syntax to create this widget:

 w = Frame ( master, option, ... ) 

Parameters:

  • master: This represents the parent window.

  • options: Here is the list of most commonly used options for this widget. These options can be used as key-value pairs separated by commas.

OptionDescription
bgThe normal background color displayed behind the label and indicator.
bdThe size of the border around the indicator. Default is 2 pixels.
cursorIf you set this option to a cursor name (arrow, dot etc.), the mouse cursor will change to that pattern when it is over the checkbutton.
heightThe vertical dimension of the new frame.
highlightbackgroundColor of the focus highlight when the frame does not have focus.
highlightcolorColor shown in the focus highlight when the frame has the focus.
highlightthicknessThickness of the focus highlight.
reliefWith the default value, relief=FLAT, the checkbutton does not stand out from its background. You may set this option to any of the other styles
widthThe default width of a checkbutton is determined by the size of the displayed image or text. You can set this option to a number of characters and the checkbutton will always have room for that many characters.

Example:

Try the following example yourself:

from Tkinter import * root = Tk() frame = Frame(root) frame.pack() bottomframe = Frame(root) bottomframe.pack( side = BOTTOM ) redbutton = Button(frame, text="Red", fg="red") redbutton.pack( side = LEFT) greenbutton = Button(frame, text="Brown", fg="brown") greenbutton.pack( side = LEFT ) bluebutton = Button(frame, text="Blue", fg="blue") bluebutton.pack( side = LEFT ) blackbutton = Button(bottomframe, text="Black", fg="black") blackbutton.pack( side = BOTTOM) root.mainloop() 

When the above code is executed, it produces the following result::

TK Frame

作者  | 2014-9-15 8:55:53 | 阅读(29) |评论(0) | 阅读全文>>

厄尔利效应/ Early 效应/ 厄利效应 / 基区宽度调变效应

2014-7-2 18:14:25 阅读40 评论0 22014/07 July2

基区宽度调变效应 - 厄尔利(Early)效应
http://zh.wikipedia.org/wiki/%E7%88%BE%E5%88%A9%E6%95%88%E6%87%89


此变化称为厄利效应,由詹姆斯·M·厄利(James M. Early)所发现。
厄利效应英语Early effect),又译厄尔利效应,也称基区宽度调制效应,是指当双极性晶体管(BJT)的集电极-发射极电压VCE改变,基极-集电极耗尽宽度WB-C耗尽区大小)也会跟着改变。





PN结空间空间电荷区的宽度由外加电压、杂志浓度等决定。当晶体管处于放大工作状态时,发射结处于正向偏置,集电结处于反向偏置,而且反偏电压VCB较高。随着反偏电压的升高,集电结空间电荷区宽度增加,使有效基区宽度减小,而当反偏电压降低,集电结空间电荷区宽度随之减小,导致有效基区宽度增加。则Ic变小。这种基区有效宽度随外加电压变化而变化的现象就称为基区宽度调变效应,也称厄尔利(Early)效应.




基区变窄对于电流的影响有以下两方面:

  • 由于基区变得更窄,电子与空穴复合的可能性更小。
  • 若穿过基区的电荷梯度增加,那么注入基区的少子电流会增加。

若集电区电压升高,以上因素都会使集电区或晶体管的输出电流增大,如下图所示的BJT输出特性曲线。特性曲线中电压较大时的切线进行反向外推,其延长线与电压轴相交,在电压轴上截得的负截距称为厄利电压(Early voltage),记为VA

Early effect (IC-VCE) zh-hans.svg

从厄利效应可以看出,如果BJT的基区宽度发生变化,会导致更大的反向偏置电压在集电极-基极接面,会增加集电极-基极耗尽区宽度,减少基区宽度。总的来说,增加集电极电压(VC),集电极电流(IC)也会跟着上升。

大信号模型[编辑]

在正向有源区中,厄利效应使集电区电流I_\mathrm{C}和正向共射极电流放大系数\beta_\mathrm{F}发生了改变,通常二者满足下列关系:[1][2]

 I_\mathrm{C} = I_\mathrm{S} e^{\frac{V_\mathrm{BE}}{V_\mathrm{T}}} \left(1 + \frac{V_\mathrm{CE}}{V_\mathrm{A}}\right)
 \beta_\mathrm{F} = \beta_\mathrm{F0}\left(1 + \frac{V_\mathrm{CE}}{V_\mathrm{A}}\right)

其中

  • V_\mathrm{CE}是集电极-发射极电压
  • V_\mathrm{T}热电压\mathrm{kT/q}
  • V_\mathrm{A}厄利电压(一般为15 V-150 V,对于小型设备会更小)
  • \beta_\mathrm{F0}是零偏压时的正向共射极电流放大系数

某些模型把集电极电流校正系数建立在集电极-基极电压VCB(见基区宽度调制)而不是集电极-发射极电压VCE的基础上。[3]利用VCB建模在物理上似乎更为合理,因为从厄利效应的物理原因上来看,集电极-基极耗尽层的变宽取决于VCB的变化。计算机模型例如SPICE中所用的模型都使用集电极-基极电压VCB[4]

小信号模型[编辑]

小信号电路模型(如混合π模型)中,厄利效应可以被定义为满足如下关系的电阻:[5]

r_O=\frac{V_A+V_{CE}}{I_C} \ \approx \frac{V_A}{I_C} \

可看出上式与晶体管的集电极-发射极PN结有关,因此这一电阻定义可解释简单电流镜有源负载共射极放大器的有限输出电阻

若与SPICE中保持一致,使用V_{CB}来表示电阻,则上式变为:

r_O=\frac{V_A +V_{CB}}{I_C} \

对于MOSFET,输出电阻在Shichman-Hodges模型[6](在非常陈旧的技术中是精确模型)中被定义为:

r_O = \begin{matrix} \frac {1+\lambda V_{DS}}{\lambda I_D} \end{matrix} =\begin{matrix} \frac {1/\lambda +V_{DS}} {I_D} \end{matrix},

其中V_{DS} = 漏源极电压,I_D = 漏极电流,\lambda = 沟道长度调制系数,通常与沟道长度L 成反比。由于MOSFET也有类似的双极性,MOSFET中也会使用“厄利效应”这一术语来描述类似的现象。

参考文献[编辑]

  1. ^ R.C. Jaeger and T.N. Blalock. Microelectronic Circuit Design. McGraw-Hill Professional. 2004. 317.ISBN 0072505036.
  2. ^ Massimo Alioto and Gaetano Palumbo. Model and Design of Bipolar and Mos Current-Mode Logic: CML, ECL and SCL Digital Circuits. Springer. 2005. ISBN 1402028784.
  3. ^ Paolo Antognetti and Giuseppe Massobrio. Semiconductor Device Modeling with Spice. McGraw-Hill Professional. 1993. ISBN 0071349553.
  4. ^ Orcad PSpice Reference Manual named PSpcRef.pdf, p. 209. This manual is included with the free version of Orcad PSpice, but they do not maintain a copy on line. If the link given here expires, try Googling PSpcRef.pdf.
  5. ^ R.C. Jaeger and T.N. Blalock. Microelectronic Circuit Design Second Edition. McGraw-Hill Professional. 2004: Eq. 13.31, p. 891. ISBN 0-07-232099-0.
  6. ^ NanoDotTek Report NDT14-08-2007, 12 August 2007 [1]

作者  | 2014-7-2 18:14:25 | 阅读(40) |评论(0) | 阅读全文>>

化脓性颌骨骨髓炎: moth-eaten appearance 虫蚀状

2014-4-14 14:05:24 阅读10 评论0 142014/04 Apr14

http://course.jnu.edu.cn/yxy/eruption/bl/jc/14-01-a.htm


颌骨骨髓炎

颌骨骨髓炎(otseomyelitis of jaws)是指发生于颌骨骨膜、骨质及骨髓的炎症,常与颌面部软组织炎症同时存在。最常见的病原菌为化脓性细菌,以金黄色葡萄球菌和溶血性链球菌为主,也可见肺炎球菌和大肠杆菌,临床上多位混合性细菌感染。少数由结合杆菌引起特异性炎症。

(一)  化脓性颌骨骨髓炎

1. 急性化脓性颌骨骨髓炎(acute suppurative ostemylitis of jaws 多来自于牙源性感染,少数情况来自外伤后感染和血行感染。可见于任何年龄,但是发生于成人者和婴幼儿者其感染途径和临床表现不同。病原菌主要是金黄色葡萄球菌和链球菌,此外也可从病变组织检测到肺炎球菌、大肠杆菌和铜绿假单胞菌(俗称绿脓杆菌)等。

成人急性化脓性颌骨骨髓炎主要发生于下颌骨,常继发于急性根尖周脓肿、根尖周肉芽肿或根尖周囊肿等急慢性根尖病变,深牙周袋、冠周炎、拔牙创和开放性骨折等也可成为感染途径。病灶牙以第一磨牙为最多。

临床表现 多以罹患部位剧烈的疼痛为主诉,同时所属淋巴结反应性肿胀和血液中中性粒细胞数量增加,严重者出现发热、寒战、疲倦等全身症状。包括病灶牙在内病变部位的多数牙松动,扣痛明显。如果炎症波及下牙槽神经管,则颏神经支配区域,尤其下唇麻木。如果炎症穿过骨密质,达到骨膜和邻近的软组织,则这些部位的皮肤和粘膜发红、肿胀。

如果化脓性炎症进一步发展,则骨组织发生广泛坏死,形成死骨(sequestrum)。而且随着组织修复机制的启动,死骨周围有肉芽组织形成,以此与周围骨组织分离,但自然排除者少见,多数长期残存于颌骨内,此时,常在表面形成瘘孔。如果病变迁移,则死骨周围常形成发应性新生骨组织,称其为骨壳(involucrum),但是骨壳在急性化脓性颌骨骨髓炎少见。X线表现,发病后短时间内无明显变化,经过12周,由于骨组织吸收,导致骨小梁结构不清楚,然后出现境界不明显的“虫蚀状(moth-eaten appearance”密度减低区。

病理 骨髓组织高度充血和炎症性水肿,并见大量的中性粒细胞浸润;且随炎症的进行组织溶解坏死,骨髓腔充以化脓性渗出物和坏死物质,形成脓肿;脓肿周围的骨组织可见到活跃的破骨细胞性骨吸收。残存于脓肿或坏死组织内的海绵状骨小梁,其成骨细胞和骨细胞完全消失,表现为死骨。

婴幼儿急性化脓性颌骨骨髓炎多发生于出生后23周,现在已很少见到。几乎均发生于上颌骨,又称为新生儿上颌骨骨髓炎(neonatal maxillitis),一般认为分娩过程中或哺乳时腭粘膜损伤是其主要感染途径,常伴有乳牙胚的坏疽。

2.  慢性化脓性颌骨骨髓炎 chronic suppurative ostemylitis of jaws)较多见,主要来自于急性化脓性骨髓炎,毒力弱的细菌在感染初期也常表现为慢性化脓性颌骨骨髓炎。

临床表现】以罹患部位的疼痛、肿胀为主要症状,但与急性化脓性颌骨骨髓炎比较,其程度轻。常无牙松动和咬合痛,面部相应部位有炎症浸润,可有不同程度的开口受限。病变区的牙龈、牙槽粘膜轻度发红、肿胀,并有压痛,口臭明显。如果残存死骨和感染灶,则表面形成瘘孔,当瘘管堵塞时可转变为急性炎症。如果死骨形成广泛,常导致病理性骨折。X线表现为虫蚀状骨吸收,并见有死骨分离线,伴有骨新生时,则混有骨硬化的表现。

作者  | 2014-4-14 14:05:24 | 阅读(10) |评论(0) | 阅读全文>>

Dilaceration

2014-4-14 11:50:16 阅读10 评论0 142014/04 Apr14

Dilaceration.

It got this way because of a tortuous or

difficult path of eruption. 

Remember, the root forms as eruption progresses.

作者  | 2014-4-14 11:50:16 | 阅读(10) |评论(0) | 阅读全文>>

VID_8087 PID_07DA is what device ?

2014-3-19 13:12:11 阅读30 评论0 192014/03 Mar19

VID_8087 PID_07DA 

== Centrino(R) Wireless (Bluetooth Adapter)

== Intel PROSet/Wireless Bluetooth 

作者  | 2014-3-19 13:12:11 | 阅读(30) |评论(0) | 阅读全文>>

http://www.bio360.net/news/show/8516.html


把进化史装进瓶子里的人

2013-12-30 www.bio360.net 来源:lifeomics 作者:YORK 4500 8

Science:把进化史装进瓶子里的人

时间旅行者。为了让进化时钟往回走,Richard Lenski一头扎进了他的冰箱里。

Richard Lenski用了25年的时间来研究细菌的进化问题,他用大量的试验证实了突变与选择对生物的塑造作用,而且总是能够不断地给我们带来惊喜。

大部分生物学家都希望了解进化的本 质,他们想尽了各种办法,有的去研究化石、 有的深入大自然寻找线索,可Richard Lenski 和他们都不一样,他的方法是穿过美国密歇 根州立大学(Michigan State University)校 园,到他实验室的冰箱里寻找答案。在他的冰 箱里储存了4000个玻璃瓶,这些是他从1988 年就开始收藏的细菌标本,这就是他的全部宝 藏。就在1988年,Lenski开始了一个简单, 但却是非常基础的试验工作。他的试验是这样 的,将大肠杆菌(Escherichia coli)放入糖 溶液中,然后塞住瓶口,试验就完成了,接下 来的工作就是等着看究竟会发生些什么。这项 研究根本就没有一个预计的终点,所以他也没 有花太大的精力为这项研究争取科研经费,因 为谁都知道这个工作的未知性(风险)太大。

25年之后,Lenski已经攒下了5.8万个这 样的小瓶子,他培养的这些细菌还在不停地 生长、突变及进化着。这项工作的意义也得 到了体现,该项目对Stephen Jay Gould的软 体动物(mollusks)进化研究工作起到了很好 的补充作用。Lenski这种简单的细菌实验已经 证实了很多问题,比如多个微小的突变如何为 将来的巨大改变打下基础?新的物种是如何产 生,又是如何分化的?而且同时为Gould平反 了,因为当初Gould宣称如果再给一次进化的 机会,生物的进化很有可能会朝着另外一个方 向进行下去,可是所有人都认为他错了。最 近,这些细菌又证实了另外一点,进化从未停 止,哪怕环境是一成不变的,进化也不会停下 自己的脚步,这一点与很多生物学家的认识都 有冲突。美国纽约Stony Brook大学(Stony Brook University in New York)的进化生物 学家Douglas Futuyma这样评价道:“这项工 作绝对是一个了不起的工作,取得了令人瞩目 的成就。”

还有一些科研人员也在从事试验进化 (experimental evolution)方面的工作,他 们也在实验室里受控的条件下培育了大量的昆虫、酵母,甚至还有鱼,也曾经让这些实验动 物接触过短时间的环境压力。但是还没有人 像Lenski这样进行过这么长时间的试验进化研 究,用Futuyma的话来说就是,Lenski的工作 要比其他人的工作高出好几个数量级。

这项已经持续了四分之一世纪的研究工 作见证了生物信息学的兴起,也见证了全基因 组测序技术的诞生,Lenski当然也没有错过这 些机会,他也在研究工作中借助了这两项技 术的力量。一代又一代的学生都在照料这些 细菌,也都在分析这些微生物,不过这项工 作也让Lenski和神创论者产生了一场具有历史 意义的冲突。15年前,Lenski差一点就因为 数字进化模型而放弃了他的研究工作,直到 后来他的这些细菌出现了一次非常明显的进 化,他才重新恢复了信心。正如美国哈佛大学 (Harvard University)的进化生物学家Scott Edwards在今年6月召开的进化大会上评价的 那样:“Rich发现的进化规律深深地触动了 我们每一个人,也让我们明白应该用一种全新 的眼光去看待进化问题。”

瓶子里的进化史。在12个培养瓶中,有一 瓶细菌(第一排从左数第三瓶)因为发生 了突变而快速扩增起来,使培养基明显变 混。科研人员将两种细菌混合培养,然后 计算培养皿上的克隆数就可以比较出这两 种细菌的适应性。携带了突变的细菌克隆 会呈现红色。

坚实的数据

现年 57岁的 Lenski一直都是麦克阿瑟(MacArthur)样的人,他是好几个杂志的编委,是一个社团的领袖,也是美国科学院(National Academy of Sciences)的成员,同时也是转基因物种评价委员会的委员,还参加了2001年美国炭疽恐怖袭击(anthrax attacks)的调查工作。今年8月,Lenski又爱上了推特,也在网上开了一个个人博客,博客的名字是“Telliamed Revisited”。这个名字源于一本写于18世纪的书,在这本书里强调了应该通过仔细的观察,而不是宗教教条去认识世界。Lenski还热衷于收集古老的科学文献和棒球统计资料,不过最近他也说过:“我的孙女是我最近的爱好。”

虽然Lenski有这么多爱好,但是有一件事情总是能够吸引他的注意力。他的研究生 Michael Wiser就介绍说,只要拿一些新鲜的数据站到Lenski的门口,他就会像一个5岁的孩子看到圣诞节礼物时那么高兴。这种对进化数据的热爱和渴望就是驱使他开展细菌研究的原动力。Lenski从来没有上过微生物学的课程,作为一名美国北卡罗莱纳大学教堂山分校(University of North Carolina, Chapel Hill)毕业的研究生,他只学过地甲虫生态学,这项工作他也觉得很有趣,但是兴趣还不算太大。今年8月,Lenski在博客里这样写道——很难想出这样简单的一个试验,能够这么容易地验证让我如此着迷的科学假设。Lenski在1982年做了博士后,当时他改变了研究方向,进入了Bruce Levin的实验室,Levin是当时少有的几位从事微生物进化实验研究的科学家之一。他们一起对细菌与噬菌体(bacteriophages)这种病毒之间的相互作用开展了研究。但是他们的试验系统太复杂了,所以不能回答Lenski最感兴趣的一个问题——Gould关于进化是不可复制的理论正确吗?或者说如果再给一次机会,是不是就可以重复一次进化历程呢?

后来 Lenski终于在加州大学尔湾分校(University of California, Irvine)有了一间属于自己的实验室,于是他利用获得的美国国家科学基金总统青年科研人员大奖(National Science Foundation Presidential Young Investigator Award)的奖金自己建立了一套简单的研究系统,只利用细菌进行科学研究。 “这就好像是一个物理学试验,你试着去除掉所有不相关的因素,只针对自己感兴趣的现象进行研究。” Lenski的博士后,物理学家 Noah Ribeck这样评价这套体系。

1988年,Lenski做了一次试验,他将大肠杆菌放入了12个培养瓶,瓶里装的除了普通的液体培养基之外,还有浓度达到25mg/ L的葡萄糖。然后将这些培养瓶放入37℃恒温震荡摇床里培养,每隔24个小时,细菌都会爆炸式地增长,同时会大量消耗葡萄糖。 Lenski每天都会从培养瓶中挑出1%的细菌,接种到一个新的、含有葡萄糖的固体培养平板里。这样大约75天左右就可以得到500代的大肠杆菌,然后Lenski等人会将这些细菌冻存起来备用。就这样日复一日、年复一年、毫不间断地一直持续了25年。其中只有一次短暂的中断,那是因为在一次寒假,Lenski把实验室搬到了密歇根。

Lenski认为,建立这样一套试验系统,并且一直坚持下去是需要很大的毅力和前瞻性的。之前,质疑者都认为细菌的进化,尤其是让细菌在一个稳定、舒适的环境中生长,这样的试验不可能反映自然界里真实的进化情况。可是质疑归质疑,Lenski还是继续着他们的研究,而且他们也在对培养基进行监测,通过这种监测他们发现了一个非常类似于有着正向加速度的进化历程。由于使用的试验材料是细菌,而不是其它生长周期很长的生物,所以大大节约了时间。大肠杆菌每天可以繁殖6.6代,而小鼠要用1年多的时间才能繁殖这么多次。Lenski这25年的细菌试验等于人类数百万年的进化历程。“这样就可以对整个假设进行检验,而这在以前是根本不可能做到的。”加拿大麦吉尔大学(McGill University in Montreal, Canada)的进化生物学家Graham Bell这样评价道。

只需要拿出一瓶冻存的细菌解冻、复苏, Lenski就可以随时了解进化过程中任何一个时间点上的情况。“这就是一份完美、完备的化石记录。可以精确地找出某个性状是在什么时候出现的。”蒙大拿大学(University of Montana in Missoula)的进化生物学家 Douglas Emlen赞叹道。而且Lenski还可以用任意一瓶细菌重新开始试验,看看这个进化过程是否可以重复。Lenski之前的博士后,现在是美国哈佛大学(Harvard University)微生物学家的Christopher Marx进一步介绍说,今天,一名22岁的研究生也可以使用这些在他出生之前就已经存在的细菌开展试验,并且可以用最新的技术对这些细菌进行研究。

在研究开展的头十年里,事情一直进行得非常顺利。科研人员们一直在监测细菌的适应度,他们的方法就是比较最新的细菌与最老的细菌的繁殖扩增速度。最开始,细菌的适应性增长得非常快,可是之后这个速度就渐渐地慢了下来。纵观整个25年时间的试验,细菌的适应性整体提高了70%,这也就是说最近这一代细菌的倍增速度要比第一批细菌快了1.7倍。

所有 12瓶试验菌差不多全都得到了同样的试验结果,这说明进化是可复制的(Science, 25 June 1999, p. 2108)。但是有一些细菌的生长速度会变得更快一些,对这些细菌进行遗传分析之后发现,它们彼此之间选择了不同的进化途径。比如有六种细菌出现了DNA修复机制缺陷,不过它们并没有因此而死亡,只是变得比其它细菌的突变率更高了而已。美国密歇根州立大学(Michigan State University)的进化生物学家Janette Boughman解释说:“根据历史经验来看,越早出现的突变,就越能改变后来的进化方向。但是最终得到的结果却都是一样的,所有的细菌都适应了有葡萄糖存在的环境。”

这些细菌还进化出了其它的差异。大约在试验开始后的第3年,已经繁殖到了第6500代细菌,此时在一个培养皿里进化出了两种大肠杆菌,其中一种细菌形成的克隆比较小,细菌的体积相对也比较小,另外一种不论是细菌的体积还是形成的克隆都比较大。Lenski希望最终这两种细菌里只有一种能够胜出,生存下去,或者这两种细菌都被另外一种适应性更强的突变株取代。但是出乎他预料的是,这两种细菌全都存活下来,形成了一个小型的生态系统,两种细菌彼此之间既存在竞争也存在相互作用,竟然和平共处下来。“它们创造出了它们自己的Galápagos岛。” Marx这样评价道。

数字化试验

随着数字化技术的兴起,Lenski差一点就放弃了他的培养皿试验工作。因为他发现了一种更简便、更快速的试验进化系统。据美国耶鲁大学(Yale University)的进化生物学家,过去曾经是Lenski学生的Paul Turner介绍, Lenski是一个非常敏锐的、客观的研究者,如果有一样东西是值得追求的,那么他一定不会轻易放手。比如有一位物理系的同事就曾经邀请Lenski参加加州理工学院的物理学家 Christoph Adami举办的学术交流会。Adami和他的研究生Charles Ofria一起开发了一个能够自我复制的计算机软件——“aka数字化生命体(aka digital organisms)”。这个程序原本是为了提高计算机的运算能力,开发计算机新功能而设计的,可是Lenski一下子就被它吸引住了,他回忆说:“Adami展示的第一张数据看上去就和做了很久的试验才得到的数据差不多。”

1998年,Adami给Lenski寄了一本由他撰写的《人工生命简介》(Introduction to Artificial Life)(该书介绍详见Science , 8 May 1998, p. 849)。Lenski花了两个晚上一口气读完了这本书,并且尝试仿照这套程序自己开发了另外一套程序。这套数字化试验系统的复制速度要比他的大肠杆菌快好几千倍,而且可以更细致地追踪突变信息。于是在接下来的6年里,Lenski除了进行大肠杆菌试验之外,还用了同样的精力关注他的计算机模拟程序。

2003年,Lenski与Ofria和Adami,以及哲学家Robert T. Pennock一起组成了课题小组,开始对一个个的突变进行跟踪,研究计算机程序除了复制进化历程之外,究竟能完成哪些工作,能否完成复杂的工作,比如验证一个数字串是否等于另一个数字串等。他们发现,很多早先出现的突变(其中有一些突变在短期内是有害的)都必须先积累到一定的程度,直到出现某一个决定性的突变,才会进化出一个新的性状。这项研究工作证实,像脊椎动物的眼睛这样复杂的性状很有可能是经过了一系列的中间步骤,才最终形成的。

数字化研究丝毫没有减弱Lenski的学术影响力。2010年,他与Ofria以及其他一些人一起获得了BEACON的资助。BEACON是美国科学基金中心专门设立的一个进化研究项目(Study of Evolution in Action),美国5所大学的400多名科研人员都参加了这个项目,他们的工作就是对活生生的生物,以及数字化生物的进化过程开展研究。

值得庆幸的是,Lenski没有放弃最初的细菌实验工作。就在发现数字化生命体程序的那个周末,Lenski告诉他的妻子,他打算终止这个持续了十几年的试验工作。但是他的妻子仍然让他坚持下去。2003年1月,这项漫长的研究工作终于显露出了它应有的价值。“计算机程序的好处是你可以得到与试验相关的所有信息,细菌试验则要更加复杂一些,但是细菌更加‘诡计多端’,所以细菌也会有很多让我们预想不到的进化方向。” Lenski这样评价道。

一天清晨,Lenski等人注意到有一个培养瓶里的培养基变浑浊了,这说明里面的细菌长得非常多。他们怀疑可能是出现了细菌污染,但是还不能确定。于是他们调出了最近的一批冻存细菌Ara-3,重新进行了试验。3个星期之后,培养基又变浑浊了。这一次他们彻底进行了检测,排除了污染的可能。然后他们又用各种不同的培养基来培养Ara-3细菌,结果发现这种细菌已经进化出了一种新的滋养模式。它们不再需要稀少的葡萄糖来生长,它们可以依靠培养基里的另外一种成分——柠檬酸盐(citrate)来供能,所以这种细菌能够生长得更好,菌体密度更大,因此会使培养基变得浑浊。“这是整个大肠杆菌试验里最重要的一件事。没有任何明显的影响因素,就可以使大肠杆菌进化出一种非常复杂的新功能,这是一件非常重要,也是非常值得大家关注的事情。” Adami评价道。

现在,研究生Zachary Blount接手了这个项目,他将告诉我们大肠杆菌都发生了哪些改变。这种适应能力是一个突变造成的吗?如果真是一个突变导致的,为什么不能早点发生呢?要知道这么长的时间足够大肠杆菌里每一个基因都突变一次了。如果是多个突变共同造成的结果,那么是在什么时候开始出现第一个突变的?每一个突变之间的先后顺序又是怎样的?为了找到这些问题的答案,Blount又重复了一遍试验。他解冻了早期的细菌样品,然后用同样的培养基又培养了一次,希望重复出细菌的进化历程。结果在72个培养瓶中有4个瓶的细菌表现出了利用柠檬酸盐的特性,而这4瓶细菌全都是来自增殖代数较高的细菌。这说明这种新特性应该是多个突变共同作用的结果。代数较高的细菌已经积累了足够多的突变,所以能够实现从量变到质变的飞跃。

Blount和Lenski的试验结果在2008年一经发表就引起了大家的关注,而且不仅仅是学术界关注他们的科研成果,大众媒体也表现出了极大的兴趣。保守的Christian Andrew Schlafly在他的博客Conservapedia上对这个科学结论表示了质疑,他不认为细菌能够进化出一种新技能,并且要求Lenski公布原始的试验数据。Lenski提交了原始的论文,但是 Schlafly还是坚持他的观点。于是Lenski写了一封言辞犀利的评论作为回应。“他一夜之间就成了我们科研界的摇滚明星。” Adami这样评价道。

与此同时,柠檬酸盐的工作也还在继续着。由于微生物全基因组测序的费用大幅度下降,所以Blount终于能够明确地了解到这些细菌究竟发生了哪些突变。他发现在这些能够利用柠檬酸盐的细菌基因组里有一段2933bp的 DNA片段出现了重复,从而激活了一个原本沉默的基因,该基因的编码产物就是柠檬酸盐转运子。之后的遗传突变又进一步增强了这个转运子的转运效率。Blount和Lenski在2012年发表文章公布了这一发现。

这些能够利用柠檬酸盐的大肠杆菌让已经是实验室里博士后的Blount和Lenski能够对另外一个进化问题开展研究——那就是如何进化出一个新物种。我们通常都只会对每一个单独的品种进行检测,这是因为不同的品种彼此之间很难成功杂交,但是这一规则不适用于细菌,因为细菌是无性繁殖的。不过由于大肠杆菌的特性之一就是在有氧环境下不能利用柠檬酸盐,所以这种新出现的、在有氧环境下能够利用柠檬酸盐的细菌就可以被称作是一个新的品种。它们甚至符合传统的新品种的定义。我们不能对细菌进行杂交,但是可以将不同细菌的基因组混合在一起。Lenski今年6月在一个进化讨论会上介绍,这些可以利用柠檬酸盐的细菌基本不能依靠葡萄糖生存,将这些细菌与它们的“父辈”菌混合在一起能够得到一种适应度稍差的杂交菌。

Zachary Blount用身后所有的培养皿来研究细菌是如何进化出用柠檬酸盐供能的新技能。

永无终点的进化

现在,Lenski已经不再考虑什么时候中断他的细菌试验了,他说:“现实情况已经越来越明显,短期的试验没什么意义。任何一个有足够人力的微生物实验室都应该规划一个为期 20年的长期试验项目。”资金管理人也同意这个观点。这个曾经一度被美国国立健康研究院(NIH)拒绝过的项目现在也已获得了美国科学基金会的青睐,获得了一个为期十年的环境生物学研究基金。

长时间的坚持也得到了回报,Lenski、 Wiser、 Ribeck等人本周又在《科学》(Science)杂志网络版上发表了一篇文章(http://scim.ag/MWiser)。科学家一直都认为一旦生物体遇上了新鲜的环境,就一定会在第一时间很快地适应,然后只要环境因素一直保持稳定,就可以达成一个适应状态(adapted state)。当达到适应的顶峰之后,适应性进化就会停止。Wiser已经对12瓶细菌的适应性都进行了检测,涵盖了整个进化历程中的41个时间点。经过5年,大约繁殖了1万代之后,细菌似乎已经达到了适应的顶点。但是现在Lenski团队发现,经过了5万代的增殖,虽然细菌进化的速度有所减缓,但是并没有像我们预期的那样完全停滞下来。“进化顶点的提法要比我预期的更难以捉摸。我认为适应性进化可能会一直持续好几百万年。即便在一个稳定的环境中,进化似乎也是永远不会停止的。”Lenski这样认为。Boughman对此评价道: “这是一个非常有见地的看法。”

这对Lenski已经传了58500代的细菌研究来说是一个非常好的预兆。Lenski介绍说: “如果你在20年前问我们要不要这么干,我想大家肯定都会说‘不’,宁愿选择去干其他的事情。”他又说道:“可到了现在,我觉主席发言时这样说道:“如果你们听说有谁想得肯定都会毫不犹豫地继续干下去。”Lenski做一个数百万年的试验,一定要让那个人联系最近在一个进化大会上担任会议主席,他在做我。”

原文检索:

Elizabeth Pennisi. The Man Who Bottled Evolution. Science 15 November 2013; DOI: 10.1126/science.342.6160.790

作者  | 2014-3-18 19:22:06 | 阅读(39) |评论(0) | 阅读全文>>

ftp://ftp.symantec.com/AVDEFS/symantec_antivirus_corp

assume the following:
1. You use a machine with internet access to download the intelligent updater file.
2. You then want to copy this file to other machines on a LAN
3. You have internet Explorer 5.x

Right Click on the intelligent updater file on your machine and select properties.
Select digital signature properties.
Select Name of signer in the box and click details
Select View certificate
Selet path details and make sure you high light the first line ...CA
Select the details tab
Select copy to file and accept defaults
Save the cerificate to a file

On the machine that is refusing to update the AV files
Start IE 5.x
Selecet Tools-> Internet Options >Content >Certificate
--> Import
Import the Certificate from where you saved it above.

===============================================================================

The user may see the following popup error message "Symantec Signature Expired," after performing a recovery and during the installation process. Select the "OK" button and the recovery will continue.

[Error Message]
Intelligent Updater
This package is not signed with a valid Symantec signature.
This Intelligent Updater package cannot continue installing.


http://support.lenovo.com/en_US/detail.page?LegacyDocID=SF08-D0015


Limitation

This Symantec Signature error message is due to the method of installation. Symantec drivers install using MSI and not INF method. Microsoft requires INF method to be used for hardware but not software, so this method of installation for the software is approved.



======================================================================================

Issue



When you use the Intelligent Updater or Rapid Release to download virus definitions, you see one of the following error messages, and the update process stops:
"This package is not signed with a valid Symantec Signature. This Intelligent Updater package cannot continue installing."
"This package has failed the digital signature check. Please re-download it from the Symantec Web site."


Solution



For added security, Symantec now digitally signs the Intelligent Updater virus definition packages. If the digital signature cannot be validated, then you will see an error message.

Some Microsoft? operating systems need to be updated to enable the use of these digital signatures. Follow these steps to update the operating system's certificate store. With some older operating systems, such as Windows? 98 and Windows NT? 4.0, it may be necessary to configure Internet Explorer to reach the Internet, in case other certificates need to be updated, as well. 

To update the Windows root certificate
  1. Go to the Windows Update Web site.
  2. In the left pane, click Administrator options.
  3. In the right pane, click Windows Update Catalog.
  4. Click Find updates for Microsoft Windows operating systems.
  5. Select your operating system (for example, Windows 98 and Windows 98 Second Edition)
  6. Click Advanced search options.
  7. In the search box, type certificate
  8. Click Search.
  9. Click Recommended Updates.
  10. In the Recommended Updates list, locate Root Certificate Update, and then click Add.
    The Root Certificate Update summary states that the update includes root certificates from VeriSign, Thawte, and post.trust in Ireland.
  11. Click Go to Download Basket.
  12. Click Browse, and save the file to a location on your hard drive.
  13. Go to the file location on your hard drive, and click rootsupd.exe to install the update.

If you have Windows NT and this does not work, then you may need to manually install the certificate in the local computer's certificate store.



References
For more information on this update, read the Microsoft article Root Certificates Update.



Technical Information
Symantec now digitally signs the Intelligent Updater and Rapid Release virus definitions for added security. To ensure that the files you receive come only from Symantec, the following items are digitally signed:

  • All 32-bit updaters 
    (yyyymmdd-###-i32*.exe )
  • All "split disk" updaters 
    (yyyymmdd-###-i321.exe, and yyyymmdd-###-i321.zip through yyyymmdd-###-i325.zip)
  • All 64-bit updaters 
    ( yyyymmdd-###-i64.exe files)
  • The "all-inclusive" updater 
    (yyyymmdd-###-x86.exe)
  • The Rapid Release definitions 
    (Symrapidreleasedefsi32.exe and Symrapidreleasedefsx86.exe)




Legacy ID



2005022311273748


Article URL http://www.symantec.com/docs/TECH101098


Terms of use for this information are found in Legal Notices

作者  | 2014-3-17 17:48:42 | 阅读(36) |评论(1) | 阅读全文>>

怎么关闭 DEP 数据执行保护功能

2014-3-17 12:59:20 阅读21 评论0 172014/03 Mar17

怎么关闭数据执行保护功能是一个比较简单的问题,DEP(数据保护功能)的功能不具备主动病毒监测,但是它能检测到内存的溢出所以还能起到一定作用。但是有时正常程序的程序也可能遭到拦截,所以下面介绍怎么关闭数据执行保护功能呢

怎么关闭数据保护功能:

使用记事本打开c:\boot.ini文件。如果有只读属性,需要先将只读属性去掉。

可以找到multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect

把/noexecute=optin改为/execute 即可。即改为:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home  Edition" /execute /fastdetect

/noexecute=optin 这是默认开关。启用 DEP。 

/execute - 禁用 DEP。

/noexecute参数的取值可以是AlwaysOn、AlwaysOff、OptIn 、OptOut中的任一个。当你启用DEP(系统数据执行保护)的时候,/noexecute=optin;关闭DEP,/noexecute=optout

/noexecute=AlwaysOn时,便将整个系统置于 DEP 保护范围以内。在这种状态下,可能很多程序都不能运行,而且报错的提示还不一样。

/noexecute=AlwaysOff时,相当于关闭了DEP和EVP功能,凡是被其阻止的程序都能正常运行。我们可在这种状态下暂时运行某一程序,但一定要注意网络安全,工作完成后马上恢复。

怎么关闭数据执行保护

添加例外程序:

单击“开始”,然后单击“控制面板”。

在经典视图中,双击“系统”。

单击“高级”选项卡,单击“性能”,然后单击“设置”。

在“性能选项”对话框中,单击“数据执行保护”选项卡。

选择“为所有程序和服务启用 DEP,但我选择的程序和服务除外:”,然后单击“添加”。

在“打开”对话框中,找到并选择该应用程序,然后单击“打开”。

单击“应用”,然后单击“确定”。将出现一个提示,通知您必须重新启动系统后设置才能生效。单击“确定”。

经过以上的介绍相信大家已经能知道怎么怎么关闭数据执行保护功能,希望会对大家有所帮助

作者  | 2014-3-17 12:59:20 | 阅读(21) |评论(0) | 阅读全文>>

很多人没有抓到关键,

例如下面的文章。
关键是分隔符。 

从char数据类型到datetime数据类型的转换导致datetime值越界 - godsonx - NDEB AFK Busters
 
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.SqlClient.SqlException (0x80131904): The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
The statement has been terminated.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   at SQL_connect_00001.Form1.btn1_Click(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SQL-connect-00001
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Apps/2.0/KWHQGO3P.E7T/1TRL6VZ8.RMN/sql-..tion_47001904ebf170cb_0001.0000_d29a1a5ac0f57372/SQL-connect-00001.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 built by: RTMRel
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Transactions
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.



关于2147217913 从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界 的问题解决方法


http://www.cnblogs.com/finema/archive/2008/04/19/1160958.html

作者:  finema
最近收到玻利维亚客户的反馈,运行程序时总提示:
2147217913:La conversión del tipo de datos char a datetime produjo un valor datetime fuera de intervalo.

其英文意思是:
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.

中文的意思是:
从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界

执行的SQL语句类似:
INSERT INTO Table1(EventType,EventTime) 
VALUES('Abnormal error','2008-04-18 11:14:00')

客户的运行环境为:window2000 SP4+ sql200

以上sql 在自己机器上运行,没有任何错误。

根据错误提示,可以初步判断是 SQL 在转换'2008-04-18 11:14:00'时出的问题。我就想 是不是 客户那边操作系统的区域设置的日期格式没设好,导致问题产生的。

我让用户发回了他的区域设置的相关信息:
Time Tab中 Time format 为: hh:mm:ss tt
Date Tab中 Short date format 为: yyyy-MM-dd
Date Tab中 Long date format 为: dddd,dd' de 'MMMM' de 'yyyy

然后我对照我的系统的设置,让用户改成:
Time Tab中 Time format 为: hh:mm:ss
Date Tab中 Short date format 为: yyyy-MM-dd
Date Tab中 Long date format 为: yyyy-MM-dd

用户重新启动计算机后,问题依旧。

马上到网上 google, 没能找到真正能剖析出问题根源的,得到一些线索 SET DATEFORMAT,
查sql 帮助,其作用是:设置用于输入 datetime 或 smalldatetime 数据的日期部分(月/日/年)的顺序。 
有效参数包括 mdy、dmy、ymd、ydm、myd 和 dym。美国英语默认值是 mdy。

到此,我明白了 ,客户的SQL Server在转换'2008-04-18 11:14:00'时没有使用 ydm,而是使用了别的格式。

某些网友的答案就是在执行,
INSERT INTO Table1(EventType,EventTime) 
VALUES('Abnormal error','2008-04-18 11:14:00')
之前 ,加上 SET DATEFORMAT ymd

但是提供给客户的程序是在很多个国家运行了很久的,没有发生过这种问题,是经历过考验的,而且源代码中 很多地方都是使用“yyyy-mm-dd hh:mm:ss” 这种格式来格式化长日期时间,要在每个地方都加上SET DATEFORMAT ymd 不是最好的解决办法,而且sql文档上已经说明SET DATEFORMAT 只能影响当前会话的转换。因此这种方法对我来说不可取。

那怎么样才能不改程序而能让SQL Sever 能够按 ymd 解释我提供的日期呢? google了又google 还是没找到办法,休息去了。

第二天,又google ,发现了一些线索:
SELECT @@LANGUAGE    --返回当前使用的语言名
SET LANGUAGE        --设置当前会话的语言,会影响DATEFORMAT 
DBCC USEROPTIONS --返回当前连接的活动(设置)的 SET 选项。
sp_configure            --显示或更改当前服务器的全局配置设置
sp_helplanguage     --报告有关某个特定的备用语言或所有语言的信息。相当于select * from master..syslanguages


我在我的机器上打开sql 查询分析器,执行 SELECT @@LANGUAGE ,返回结果是 简体中文,而且每次打开sql 查询分析器,其结果都是简体中文。 执行 sp_helplanguage ,知道SQL 简体中文 语言的日期格式为 ymd, 因此在我机器上执行
INSERT INTO Table1(EventType,EventTime) 
VALUES('Abnormal error','2008-04-18 11:14:00')
能成功,当我 把语句改成
INSERT INTO Table1(EventType,EventTime) 
VALUES('Abnormal error','18-04-2008 11:14:00')
这时就有问题了,
    服务器: 消息 242,级别 16,状态 3,行 1
    从 char 数据类型到 datetime 数据类型的转换导致 datetime 值越界。
    语句已终止。

也就是跟开头 客户遇到的问题一样了。

好了,到此更进一步说明了是SET DATEFORMAT 影响了对字符串日期的正确处理。 而SET LANGUAGE 会联动SET DATEFORMAT 。只要我能 SET LANGUAGE  成正确的语言,那么我的字符串日期就能正确处理。

前面提到,每次我登录sql 查询分析器,执行 SELECT @@LANGUAGE ,返回结果都是 简体中文,我用 sql 的事件探查器分析,每次我登录sql 查询分析器,都有这段显示
-- network protocol: LPC
set quoted_identifier on
set implicit_transactions off
set cursor_close_on_commit off
set ansi_warnings on
set ansi_padding on
set ansi_nulls on
set concat_null_yields_null on
set language 简体中文        --这里就是关键
set dateformat ymd            --
set datefirst 7


为什么会这样,从哪里设置才能够在登录时使用我想用的语言呢(其实答案很简单,只是现在我还没弄明白)? 

后来试着修改操作系统的区域设置里的国家 为 English,重新启动, SELECT @@LANGUAGE ,返回结果还是简体中文,说明这条路走不同,也说明改操作系统的区域设置里的国家,对连接sql server的默认语言没有影响。

后来试着在企业管理器中,修改数据库的 SQL Server 属性--> 服务器设置-->默认语言 设为 English,重新启动,结果还是返回简体中文。为什么这样啊? 写到这里,我就要批评一下 sql 2000了,在SQL Server 属性--> 服务器设置-->默认语言 中,没有任何的说明,我就认为 通过设置这个选项,sql server 就按我设置的语言进行内部处理。其实改选项的作用不是我所理解,它的作用实际上是:新建用户时,默认语言如果使用defult ,那么其默认语言 等于 SQL Server 属性--> 服务器设置-->默认语言的设置值(该选项在 sql 2005中就有比较好的说明)。注意修改该选项不会对已有登记的用户有影响,只对新登记用户有影响。

到这里终于 云开雾散, 从哪里设置才能够在登录时使用我想用的语言呢,其实就是修改一下 登录用户的默认语言,就这么简单。
打开企业管理器-->你注册的SQL server-->安全性 -->登录,双击你所用的登录用户,弹出 sql server 登录属性,修改默认设置 中的语言。

我让用户把他的sql登录用户的默认语言改成 English, 问题解决。(原先设的是 spanish)

备注:
语言= English,  其DATEFORMAT 为 mdy, 但是它也能正确转换格式为“yyyy-mm-dd hh:mm:ss” 的字符串日期。

关键字:
SQL Server ,2147217913 ,

线索:
SET LANGUAGE 
SET DATEFORMAT 
SELECT @@LANGUAGE
DBCC USEROPTIONS
sp_configure
sp_helplanguage

作者  | 2014-2-17 22:48:50 | 阅读(67) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2014

创建博客 登录  
 加关注