原来想做成MSSQL和MYSQL兼SQLITE全支持,就把ACCESS数据库不通用的布尔值(是否)全部转成了数字型,改判断0和1了!首先转换这个布尔值就开始烦人,直接
- Call DB("alter TABLE [Lanyu_Blog] alter column [star] Int Default 0",1)
转换成功,类型是转成了数字型,但格式还是是/否,不能清除,后来只好用折衷的办法转了
- ' 新建临时中转字段star_temp
- Call DB("alter table [Lanyu_blog] add [star_temp] Int Default 0",1)
- ' 把原字段数据复制到临时中转字段star_temp中
- Call DB("update [Lanyu_blog] Set [star_temp]=iif([star]=true,1,0)",1)
- ' 删除原字段
- Call DB("alter table [Lanyu_blog] drop [star]",1)
- ' 新建原字段
- Call DB("alter table [Lanyu_blog] add [star] Int Default 0",1)
- ' 把star_temp字段数据复制到原字段中
- Call DB("update [Lanyu_blog] Set star=[star_temp]",1)
- ' 删除临时中转字段star_temp
- Call DB("alter table [Lanyu_blog] drop star_temp",1)
很麻烦是不是,但总算成功了,而且数据保持不变!
接着改程序,把所有的判断重新修改了一下并整理了一下文件,真是费事.
全部完成后安装SQL2000,然后打开企业管理器导入ACCESS数据库,显示导入成功,接着问题就出来了,网站打开出现 对象名 'lanyu_blog' 无效,我晕!!数据库中包含这个字段啊!!查了一堆资料还是无果!
最后尝试自己写SQL语句看看能不能成功,参考了别人的MSSQL代码后自己写了ACC转MSSQL语句转换程序,一次把所有的表和字段生成了,接着执行,成功了,但成功的喜悦没有多久我就发现MSSQL在速度上跟ACC差不了多少,可能是我的数据量太少了吧,想想也没有必要用MSSQL,所以就到此不继续了,白忙了!!
最大的收获可能就是ACC转MSSQL那个小程序了,不过其实也没有什么技术含量的,还有就是把整站所有的布尔值转成数字型了,以后需要升级就方便多了
警告自己,以后应该注意数据库结构和数据库命名方式了,还有SQL语句的写法上,应该采用通用的写法和变量名称,免得到时候转换数据程序不支持!
另外我交的是3M的电信宽带费却给我开2M的宽带,下午我投诉后才给我加到3M,原来的上行是512,现在只有384,怎么说也不加了,意外的是烦人的ADSL捆绑广告从下午开始不弹了,电信从良了吗?
电信的用户第一满意第一在哪里??用户只是想享受到自己应得的为什么就这么难?
全文完











晴天 2008年10月31日 星期五



)。

