Access转Sql Server问题 实例说明
来源:程序员人生 发布时间:2014-03-19 23:12:44 阅读次数:3230次
今天帮同学改一个老的系统作为毕业设计
这系统技术绝对落后asp+access
为了应付老师的验收
然后这同学编程又不是很好
而其到了最后时刻才想到开始做毕设
于是找到了我
我看了他不知从哪里搞来的代码
跑了下
还行能跑
过两天就要验收程序了
把asp改成 是没时间了
于是我提议改下数据库算了
于是决定把access转成sql server
看似一个公司的产品
转起来问题到一大堆
现总结如下
先说怎么转移数据
打开sqlserver的企业管理器
建立张表
然后右击那张表
点导入数据
然后选中数据源(我这里就是access的mdb文件)
一路next
基本没什么问题
数据就这样导好了
但问题没那么简单
sql server和access的机制有很大的不同
由于SQL
里面没有自动编号
所以你的以自动编号设置的字段都会变成非空的字段
这就必须手工修改这些字段
并把他的标示选择是
种子为
增量为
另外
ACCESS
转换成SQL
后
原来属性为是/否的字段将被转换成非空的bit
这时候你必须修改成自己想要的属性了;
另外
大家要注意对时间函数的把握
ACCESS与SQL是有很多不同的
ACCESS转MS SQL数据库的几点经验
ACCESS的数据库中的自动编号类型在转化时
sql server并没有将它设为自动编号型
我们需在SQL创建语句中加上identity
表示自动编号!
转化时
跟日期有关的字段
SQL SERVER默认为smalldatetime型
我们最好将它变为datetime型
因为datetime型的范围比smalldatetime型大
我遇见这种情况
用smalldatetime型时
转化失败
而用datetime型时
转化成功
对此两种数据库进行操作的sql语句不全相同
例如
在对ACCESS数据库进行删除纪录时用
delete * from user where id=
而对SQL SERVER数据库进行删除是用
delete user where id=
日期函数不相同
在对ACCESS数据库处理中
可用date()
time()等函数
但对SQL SERVER数据库处理中
只能用datediff
dateadd等函数
而不能用date()
time()等函数
在对ACCESS数据库处理中
sql语句中直接可以用一些VB的函数
像cstr()函数
而对SQL SERVER数据库处理中
却不能用
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠