最近正在升级一个程序,使其支持多数据库。
原来的程序数据库为SQL Server,所以使用SQL Server 的“导入和导出数据”功能将一个 SQL Server 数据库转换成了Access数据库,但其中发现了一些问题,但也找到了解决方案,一并记录于此:
1、转换程序会将SQL Server的视图转换成表,而不是Access的查询;
2、在为字段设置默认值为空字符的时候,SQL Server用”,而Access用”";
3、Access中没有GetDate()函数,应该使用Now()函数代替;
4、Access没有SQL Server用来获取客户端机器名的host_name()函数;
5、Access中没有Case When Then语句,但可以用IIF()函数模拟实现功能;
6、发现:Access使用的是Visual Basic的语言结构和函数;
7、转换程序会正确转换SQL Server字段的 IS NULL 属性;
8、Access也支持多字段的索引,只是设置方法有点特别(参见帮助);
9、SQL Server中bit型的1、0值,在Access中为True和False;
10、在Access中使用多个LEFT JOIN这样的语句时,必须用括号做相关的界定;
11、Access的SQL没有注释语句,SQL Server的/**/无法通用;
12、一条Insert语句在Access查询中正常运行,但在程序中出现“Insert Into 语句的语法错误”,后来发现原来是语句中的一个列名是Access的关键字(用[]界定可解决问题),但奇怪的是将该语句放置到Access的查询中执行却不会出错。
需要对转换后的Access数据库进行以下项目的检查,以确保与SQL Server一致:
1、主键。转换后的Access数据库都没有主键,需自己设置;
2、自增字段。转换程序会将SQL Server的自增字段转换为数字型,需手动修改为Access的“自动编号”类型;
3、默认值。转换程序不会转换SQL Server中设置的默认值,需手动设置;
4、bigint型字段。转换程序会将SQL Server的bigint转换为小数,须手动调整为Access的整型或长整型;
5、索引。转换程序不会转换索引,需手动在Access中建立索引。
SQL Server数据库转换为access的具体步骤
发布于: 2011-12-13 | 分类: 数据库
热门分类
推荐阅读
- PostgreSQL报错FATAL: sorry, too many clients already与锁等待的排查方法(pg_stat_activity查连接来源、pg_blocking_pids定位阻塞链与PgBouncer连接池)
- Kafka消费堆积Consumer Lag的排查方法(kafka-consumer-groups查看LAG、分区数与消费者数不匹配与max.poll.interval.ms超时定位)
- Redis大key与热key的排查与解决方法(redis-cli --bigkeys、--memkeys与--hotkeys定位、UNLINK删除与拆分打散)
- MySQL主从复制延迟与报错1236、1062的排查与解决方法(Seconds_Behind_Master、Slave_SQL_Running为No与并行复制调整)
- PostgreSQL慢查询定位与索引失效的排查方法(pg_stat_statements抓取、EXPLAIN ANALYZE看执行计划与索引不命中的常见写法)