不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Access转SqlServer的注意事项
编辑:dnawo 日期:2007-03-30
Access与MSSQL中使用到的SQL查询语句大体差不多,但是有一些微妙的差别,正是这些差别,造成了程序的不通用,一般要修改的部分如下:
(1) 自动增加字段需要重写:在Access中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的"否"改为"是","种子"和"递增量"都为"1",才能成为自动编号。
(2) 所有的默认值都丢失了,需要重建。
(3) 时间函数的问题:MSSQL数据库的时间函数与Access不同,最常见的是取现在时间的函数,Access是now(),MSSQL是getdate(),因此凡是在where子句中使用了now()的地方都要改成getdate()。注意,now()函数在asp程序本身也要使用,凡是不在数据库查询或执行语句中使用的now()函数千万不要改。
(4) 时间比较函数:datediff('d','time1','time2')这是Access查询用的格式,MSSQL中这些引号都要去掉。还有时间格式的前后可能加上了#,在MSSQL中这些#号都要改为单引号。同样这也是指在SQL语句中的,在asp语句中的要保持原样。
(5) 空值的表示:在Access中,判断空值一般用是否=""来表示,但是这在MSSQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)
(6) 真假值判断:Access中可以用=true、=false来判断,但是在MSSQL中就会出错,因此在SQL查询或执行语句中这类判断要分别改成=1、=0。注意一点:有些程序虽然写成="true",但是由于有引号,所以这个字段是字符类型的,你不能改成=1,保持原样即可。
(7) 在对Access数据库进行删除纪录时用:"delete * from user where id=10",而对MSSQL数据库进行删除是用:"delete user where id=10"。
(8) 在对Access数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对MSSQL数据库处理中,却不能用。
调试程序经常遇到的出错的语句是:conn.execute(sql),注意这句本身是没有错的,错误原因是里面的这个sql字符串,要向上看这个sql字符串是如何生成的,按照上面所说的程序修改办法修改。
(1) 自动增加字段需要重写:在Access中经常使用的自动编号字段,导入到MSSQL后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的"否"改为"是","种子"和"递增量"都为"1",才能成为自动编号。
(2) 所有的默认值都丢失了,需要重建。
(3) 时间函数的问题:MSSQL数据库的时间函数与Access不同,最常见的是取现在时间的函数,Access是now(),MSSQL是getdate(),因此凡是在where子句中使用了now()的地方都要改成getdate()。注意,now()函数在asp程序本身也要使用,凡是不在数据库查询或执行语句中使用的now()函数千万不要改。
(4) 时间比较函数:datediff('d','time1','time2')这是Access查询用的格式,MSSQL中这些引号都要去掉。还有时间格式的前后可能加上了#,在MSSQL中这些#号都要改为单引号。同样这也是指在SQL语句中的,在asp语句中的要保持原样。
(5) 空值的表示:在Access中,判断空值一般用是否=""来表示,但是这在MSSQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)
(6) 真假值判断:Access中可以用=true、=false来判断,但是在MSSQL中就会出错,因此在SQL查询或执行语句中这类判断要分别改成=1、=0。注意一点:有些程序虽然写成="true",但是由于有引号,所以这个字段是字符类型的,你不能改成=1,保持原样即可。
(7) 在对Access数据库进行删除纪录时用:"delete * from user where id=10",而对MSSQL数据库进行删除是用:"delete user where id=10"。
(8) 在对Access数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对MSSQL数据库处理中,却不能用。
调试程序经常遇到的出错的语句是:conn.execute(sql),注意这句本身是没有错的,错误原因是里面的这个sql字符串,要向上看这个sql字符串是如何生成的,按照上面所说的程序修改办法修改。
评论: 1 | 引用: 0 | 查看次数: 4840
发表评论
请登录后再发表评论!