在进行数据库导入的过程,我会发现一个问题,在SQL中我们可以使用varchar来表示一个长的字符串,当然了,它的内容不能太大,可是对于一般 的数据来说就差不多了。可是在access表中,一般来说如果数据大一点就会用 备注 来处理了,可是在导入数据库的时候,这二个类型是不会被认为一样的,它会提示说你,无法将ntext类型转化为varchar类型。这怎么办呢。
其实查询分析器已经给出了我们想要的提示,convert这个变量,其实常写asp.net的朋友可能会知道,convert在C#里就是一个类型转换的 方法,当然了,它的这种转换不是什么类型都可以转换的,如果说想把一些非数字字符转换成数字是不可能的,这里我们就可以使用来完成这些个功能。下面是代 码:
insert into SQL数据库表名
(表中的字段)
select Zzjgdm,Qylx,Gcmc,Gcdz,Gcjsdw,Xwdm,
convert(varchar(500),Xwms),Fsrq,convert(varchar(500),Cfjd)
,Cfjg,Cfrq,Gcxzqh,UserId,convert(varchar(500),Xzwjwz),Qymc
from openrowset('Microsoft.Jet.OLEDB.4.0','E:/Ent/uploadfile/20071217090725.mdb';'admin';'',Ent_BadCredit)
注意,这里的Xwms,Cfjd,Xzwjwz在SQL数据库是类型varchar(500)的字段,而是Access表中全是备注型的。