Access升级到SQL Server2000的简便方法?

YYKXQ 2006-02-14 01:22:59
现在接了一个Access升级到Sql server2000的活,想问问大家有什么方法可以比较简单的完成?应该不需要一个一个的重建吧
...全文
315 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
longhorn008 2006-02-18
  • 打赏
  • 举报
回复
SQL server DTS工具

1,对于日期字段字段
access表示为:#1981-28-12#
SQLSERVER2000表示为:''1981-02-12''
2,SQL语句区别,select ,update 在对单表操作时都差不多,
但多表操作时update语句的区别ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
更新单表时:都为:
UPDATE table1 set ab='12',cd=444 where ....
3,delete语句
access中删除时用:delete * from table1 where a>2 即只要把select 语句里的select 换成delete就可以了。
sqlserve 中则为: delete from table1 where a>2 即没有*号
4,as 后面的计算字段区别
access中可以这样:select a,sum(num) as kc_num,kc_num*num as all_kc_num 即可以把AS后的字段当作一个数据库字段参与计算。
sqlserver 中则为:select a,sum(num) as kc_num,sum(num)*num as all_kc_num 即不可以把AS后的字段当作一个数据库字段参与计算。
5,[.]与[!]的区别
access中多表联合查询时:select tab1!a as tab1a,tab2!b tab2b from tab1,tab2 ,中间的AS可以不要。
 sqlserve 中则:select tab1.a as tab1a,tab2.b tab2b from tab1,tab2 ,中间的AS可以不要。
6,联合查询时,
   access中多表联合查询:'select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) group by a,b
sqlserve 中则'select a,b from(
select a,b from tab1 where a>3 union select c,d from tab2 ) tmptable group by a,b即要加一个虚的表tmptable,表名任意。---
7,access升级到sqlserver时,
  可以用sqlserver的数据导入工具导入数据,但要做必要的处理。
  access中的自动编号,不会自动转换SQL中的自动编号,只能转换为int型,要把它手工改成标识字段,种子为1,把所有导入被sqlserver转化成的以n开头的字段类型的n去掉,如nvarchar->varchar.把需要有秒类型的日期字段改成datatime类型(SQL会把所有的日期开转化成smalldatetime型)
8,true与1=1
access用where true表示条件为真,
sqlserver用where 1=1表示条件为真
9,判断字段值为空的区别
普通空:
Access和sql server一样 where code is null 或 where code is nol null
条件空:
Access:iif([num] is null,0,[num]) 或 iif([num] is null,[num1],[num])
SQLServer: isnull([num],0) 或 isnull([num],[num1])
10,SQL语句取子串的区别
access:MID(字段,n1,[n2]),LEFT(字段,n),RIGHT(字段,n)
如:select left(cs1,4)+'-'+cs2 as cs3
SQLServer: SUBSTRING(expression, start, length)
如:select substring(cs1, 1, 2) + substring(cs1, 4, 2) + '-' + cs2 as cs3
icedut 2006-02-17
  • 打赏
  • 举报
回复
zt
你能直接地从 PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本,这是正向工程。
默认是生成与PDM相同数据库的脚本,但是也可以产生其他数据库的脚本
产生一个数据库创建脚本
1 选择Database-> Generate Database。
数据库生成对话框出现。 它显示生成叁数。 默认叁数已经被选择。
2 SQL的文件名称框中键入 PDM_TUTORIAL 。
3 在目录框中,输入一条路径。
4 选择生成脚本的按钮。
5 选择仅仅生成一个文件。
6 点击Selection 定位键。
7 点击底部表定位键。
表页列出模型中选择可用的所有数据库表。
8 全部点击选择工具。这选择所有的表复选框。
9 切换Views和Domains选择需要的视图和域。
10 点击确定。
可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。 逆向工程
你能逆向工程已存在的数据库进新的 PDM 之内。 数据来源可能是从脚本文件或一个开放数据库连接数据来源。 当你逆向工程使用脚本的时候,你能使用一个单一脚本文件或一些脚本文件。
逆向工程数据库对象从一个脚本文件到新的 PDM
逆向工程来自一个脚本文件的数据库对象:
1 选择File->Reverse Engineer->Database 显示新的物理数据模型的对话框。
2 点击部份 Radio 按钮。
3 选择下拉列表框的一个数据库管理系统。
4 点击确定。数据库逆向工程对话框出现。
5 点击使用脚本文件的 Radio 按钮。
6 浏览适当的目录选择脚本文件。
7 点击选项定位键显示选项页。
8 选择逆向工程选项。
9 点击确定。
输出窗口的信息指出被指定的文件完全逆向工程。 逆向工程一个ODBC到新的 PDM:
1 选择File->Reverse Engineer->Database 显示新的物理数据模型的对话框。
2 点击Share 单选框。
3 选择下拉列表框的一个数据库管理系统。
4 点击确定。数据库逆向工程对话框出现。。
5 点击使用一个ODBC 单选框,选择一个ODBC。
6 点击选项定位键显示选项页。
7 选择逆向工程选项。
8 点击确定。ODBC逆向工程对话框出现。
9 在上面部份对话框的下拉列表框中选择限定词和拥有者。
10 点击一个对象类型定位键。
11 点击确定。
输出窗口的信息显示哪些表被转换而且指出数据库成功逆向工程。

好了,今天的操作多了点,配合论坛的升级,明后天暂停,我们从8.1再接着来
icedut 2006-02-17
  • 打赏
  • 举报
回复
刚测试了一下
查询被转化成了表
估计需要的试图要重新坐吧

不知道access是否有生成脚本的功能
如果有就容易了
icedut 2006-02-17
  • 打赏
  • 举报
回复
jiezhi(风满袖):怎么导入啊?是不是导入的时候,会自动地导入个表的约束,那么Accesszhogn的查询应该不会自动转化为存储过程或视图吧?

----------------------
导入后,主外键都没有了吧
Accesszhogn的查询应该不会自动转化为存储过程或视图吧?--虽然没有试过,不过转化为存储过程应该不大可能

chenbo0717 2006-02-17
  • 打赏
  • 举报
回复
SQL SERVER 不有个导入导出功能吗?我刚才试了一个可以的!
lingbo_wx 2006-02-17
  • 打赏
  • 举报
回复
使用SQL 里的数据转换服务
伴老思源 2006-02-17
  • 打赏
  • 举报
回复
导入导出,so简单
zf77 2006-02-17
  • 打赏
  • 举报
回复
先建立一个库,然后在任务中导入数据
fyyfantasy 2006-02-17
  • 打赏
  • 举报
回复
自己试试嘛
YYKXQ 2006-02-15
  • 打赏
  • 举报
回复
jiezhi(风满袖):怎么导入啊?是不是导入的时候,会自动地导入个表的约束,那么Accesszhogn的查询应该不会自动转化为存储过程或视图吧?
YYKXQ 2006-02-14
  • 打赏
  • 举报
回复
有没有那里可以找到这个操作的教程,而且,powerdesign有没有中文版或者教程?
谢谢
lampson123 2006-02-14
  • 打赏
  • 举报
回复
PowerDesigner 这个工具可以实现,很方便
jijl2001 2006-02-14
  • 打赏
  • 举报
回复
使用导入导出功能,
jiezhi 2006-02-14
  • 打赏
  • 举报
回复
把表等东西导入到ms sql中

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧