如何将sqlserver2005转换成access数据库
- 提问者网友:轮囘Li巡影
- 2021-04-22 15:40
- 五星知识达人网友:污到你湿
- 2021-04-22 16:47
1. 打开SQL server enterprise mananger "企业管理器" 在你要导出的SQL数据库上鼠标右键菜单:所有任务-》导出数据
2. 回出现一个导出向导窗口。
选择被导出的数据源,为你刚才所选择的数据库,如果发现不对应自行修改。
3. 进入导出到目标数据源的选择,这里我们要转成ACCESS的数据库。注意选择数据源类型为“Microsoft Access。点 “文件名(F)” 后面的按钮选择目标.MDB文件。
4. 选择“从数据库复制表和视图”。
5. 我们注意这里选表的时候右边有一个“转换”列。SQL导出只转换数据类型并不考虑其他脚本所以我们遇到的自动编号问题也就出在这里。有自动编号的一定要点选“转换”。
6. 我们回看到一个“列映射和转换”对话框。有注意到自增的employeeid int 自增这里变成了Access里的long这肯定不对,long并不是自动编号,只好修改建表脚本,图片上那个红圈里的按钮“编辑SQL”。
开一个小窗create talbe
红圈中的脚本就是employeeid 的 Access建表脚本,在 "NOT NULL" 前面加上 "IDENTITY (1, 1)"。
7. 立即执行。
- 1楼网友:英雄的欲望
- 2021-04-22 18:07
ACCESS转MS SQL数据库的几点经验 1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! 2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。 3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:delete * from user where id=10,而对SQL SERVER数据库进行删除是用:delete user where id=10. 4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。 5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 上面是ACCESS转MSSQL,那么你相反的操作就可以了.. 下面还有一方法!
http://hi.baidu.com/184779227/blog/item/48552e13df8480876438db23.html