12. A. As shown in Figure 5, given that $A B$ is the diameter of $\odot O$, $C$ is a point on the circumference, and $D$ is a point on the line segment $O B$ (not at the endpoints), satisfying $C D \perp A B$ and $D E \perp C O$ at point $E$. If $C E = 10$, and the lengths of $A D$ and $D B$ are both positive integers, find the length of line segment $A D$.
12. A. Connect $A C$ and $B C$, then $\angle A C B=90^{\circ}$.

From $\mathrm{Rt} \triangle C D E \backsim \mathrm{Rt} \triangle C O D$, we know $C E \cdot C O=C D^{2}$.
From $\mathrm{Rt} \triangle A C D \backsim \mathrm{Rt} \triangle C B D$, we know $C D^{2}=A D \cdot B D$.
Therefore, $C E \cdot C O=A D \cdot B D$.
Let $A D=a, D B=b\left(a, b \in \mathbf{N}_{+}\right)$. Then $C O=\frac{a+b}{2}$.
Given $C E=10$, substituting into equation (1) yields
$$
10 \times \frac{a+b}{2}=a b \Rightarrow(a-5)(b-5)=25 \text {. }
$$

Considering $a>b$, we can only have $a-5>b-5>0$, leading to $a-5=25, b-5=1$.
Thus, $A D=a=30$.