如何开发兼容Access数据库的程序

曾经要因为成本问题,需要把sqlserver的网站,转换一个access版本。因为之前网站是采用存储过程的,而Aceess不支持存储过程。、、

想Sqlserver数据库导出为access版本,把存储过程批量导出为宏。但是没有一个好的,解决方案。大费了一番周折。

 

sql语句代替存储过程,一样传递sqlparameter.参数严格的顺序要求】
 

access 转 SQL前后
1在ODBC中新建一个ms access 类型数据源
2,新建一个sql数据库
3.导入数据,选择你的access数据源

之后程序需要修改的地方:
1.表主键会丢失。需要手工重添。

2.自动编号

3.bit类型的默认值 不同,access如果不录入值是 0,true是-1;sql true是 1,不录入值是null

4.跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型

5.access 中当前时间now()和time()  SQL中getdate()

6、所有datediff('d', time1, time2)要改成datediff(day, time1, time2);
   datediff('ww', time1,    time2)要改成datediff(week, time1, time2)

6.在access的sql语句中的时间使用变量查询的时候,大家一般使用"select * from aaaa while time=#"&变量名&"#",在mssql中是不行的,他的语法是“select * from aaaa where time='"&变量名&"'"”。

7.access 的删除 "delete * from ...和delete from ...都可以"   mssql 只能 "delete from ..."
 
8.mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]” 不影响

10.CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整 不清楚

11.备注类型要通过cast(column as varchar)来使用

12。在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用

13 access里面除法可以使用"\"或者"/",MSSQL里面只能使用"/"


 

升迁向导将Access数据转成SQL Server:直接利用Access中提供的“升迁向导”功能将Access数据转成SQL Server。

这种转换方式的优点:

(1)简单方便
(2)保留数据库结构,包括数据、索引和默认设置。
(3)自动将 Access 有效性规则和默认设置转换为适当的 SQL Server 等效内容。
(4)在升迁后可保持表关系和参照完整性。


具体操作:

(1)启动Access 2000

(2)在“工具”菜单上,指向“数据库实用工具”,然后单击“升迁向导”。

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值