如何把ACCESS转成SQL数据库-access转sql软件
如何把ACCESS转成SQL数据库-access转sql软件- o s8 ~ K# F$ o1 }- v
access转sql软件 9 y7 W$ q" d: |8 @( v
1 R9 n. V; {: k- c. ]软件简介:
; g; U2 ~" V& D0 R8 ^, N* I+ SCooSel2.0 CreateSQL V1.05 - i* `, a) I' d" u. k4 k. W" `
. k/ [. D( o% n s: u: y9 ^
R9 y! } T- H. s( C档案包含 ASP 和 Exe 两个版本
, j: i9 S* ^$ RAsp版本不支持直接导入到SQLserver,只支持脚本的编写; b4 G7 {$ B+ J8 v" J
Exe 版本可以直接导入到SQLserver7 v+ y8 v* h. \: _
功能:
) i; o, i! e3 D4 Q* a* R2 _生成升迁 SQL脚本,保存为 *.sql文件后,SQL2000的查询分析器里调入执行
) _5 ^" }4 L8 |1 |1 l2 u1 d( X生成升迁 ASP脚本,这样你可以用该脚本和相应MDB数据库上传到服务器在线升迁
$ Z* c! z" o* }) A, L9 O4 G6 S$ C直接执行Access数据导入到SQL2000服务器(表结构和数据)
% @; ]( H8 b0 }' SV1.034 ~- t4 I8 ^7 _8 S0 W+ F
版本修正 bit 类型在默认数值不能正常转换的问题' w6 D$ k6 x$ E8 n. J
时间默认值增加转换 time() date() 为 getdate()
0 m5 M3 b v2 h' L6 K4 _ 视图的Vba函数未作处理,稍候版本会推出支持对应SQLserver的T-SQL转换 0 s7 r% d& v6 q# ]9 ]
V1.04
- M* X; e5 L4 V2 c3 ?支持输入建库和登陆创建. J+ b; _$ H9 b
支持Access直接导入SQL
/ `1 R) z0 f$ d! A, XV1.05
/ B) [2 x: p) `9 U. R; l, J版本添加直接导入SQLserver功能
( \2 p% c$ s! j" J- r9 |) D9 A添加导入选项 全部表 索引 按Unicode编码导入,是否生成导入数据等* B/ \" N. M4 F; L
修正默认值处理外围单双引号的问题,Access的默认值包围是没有单引号的,有的错误以为比如设置为空字符为 ''
[4 r8 `) Y" ^4 R! U对access来说是错误的,不等同于SQLserver中的(''),导入程序对此自动修正
' G5 X, _8 x' I0 x0 JV1.05找了很多论坛和整站数据库作了测试,都成功导入
5 S7 b. m9 s( F5 g8 ` F程序生成从 Access2000 MDB 数据库到 SQL server的升迁脚本(表结构和数据)
# K2 I$ J. W: \2 e8 g" {包括默认,索引主键外键视图 和整个MDB库里的表
+ M7 Y- ]( s1 L* w* b----------------9 `1 X* l5 g/ K3 j2 H" `
源码编制: MiscroSoft Visual Basic 6.0. h5 q- u& H: v# V7 F+ m) X0 G
编译环境: windows2000 server 2.00.2195 SP4
1 U4 v! r7 L0 c, `9 Z3 H/ Z如果提示 COMDLG32.OCX 版本过期0 G+ ?7 ^. t3 {$ v$ ?, s: `4 O3 Z
用随程序提供的 COMDLG32.OCX 替代 windowssystem32COMDLG32.OCX 下的
% ]; n( \! T5 w$ G或者运行regocx.exe 重注册一下COMDLG32.OCX控件
% b* C- k, r N& y注意备份源文件名,微软的文件选取对话框控件
1 K9 `4 `2 Q }. L" p9 @本地下载
! }& M2 R5 V e% R8 [. ?
& Z1 W) ~1 X3 s' U' ^9 m' M( N很多朋友想用SQL2000数据库的编程方法,但是却又苦于自己是学ACCESS的,对SQL只是一点点的了解而已,这里我给大家提供以下参考---将ACCESS转化成SQL2000的方法和注意事项
# A; i2 T% ~" }, N' T4 A' K. M
一,首先,我说的是在ACCESS2000,SQL2000之间转换,其他的我也还没有尝试过,希望大家多多试验,肯定是有办法的;
( B- G0 E* i/ X4 O$ S
! w# w* d+ R3 X5 C9 W5 U二,转换的方法
9 l0 |6 B: k9 K$ w8 z4 I+ M; j9 R
& E! Z: S5 l; Y9 Z) j& q1,打开”控制面板“下”管理工具“中的”数据库源“;
% a) t% u& h% K$ n7 l! `0 b% N0 D% c" n5 L) Y
2,按”添加“添加一个新的数据源,在选择栏里选“Driver do microsoft Access (*.mdb)”,完成后将出现一个框,在“数据库源”里面输入你想写的名称,我取名叫“ABC”,说明不需要填,接着,按下面的选择,寻找你的数据库地址和选中(注意,请先备份自己的ACCESS数据库),然后确定。数据源在这里建好了,剩下转换了。
$ }" r b9 f5 D. l0 M, S Q$ \# v q/ c9 M4 Z
3,打开SQL2000企业管理器,进入数据库,新建一个空的数据库“ABC”; . p. I/ F0 `( p6 I
; Z- Z! t7 ]6 N5 l. ~6 F
4,选择新建立的数据库,按鼠标右键,选择“所有任务”下“导入数据”,按“下一步”继续; $ @2 l( l; v7 u. M
: g: b( ~/ R. Q3 _) k5,在数据库源下拉但中选择”Driver do microsoft Access(*.mdb)“,在”用户/系统DSN“中,选种你刚才添加的”ABC“,按 ”下一步“;
& q/ a: }1 f0 ^3 E$ x: a1 @% s
, H" y; R; e8 m$ D! A2 t/ b6,“目的”不需要修改,选择服务器(一般下为自己的本机local,也可以选择服务器地址或者局域网地址,确定你的权限是否可以操作,),使用WINDOWS 身份验证指用自己的系统管理员身份操作,使用SQL身份操作验证可以用于网站的操作,推荐用后者;
: |9 i5 \/ k3 ?5 g7 C3 B( x3 b# ^# P3 V1 u1 n) r- ]
7,选上使用SQL身份操作验证后,填写你的用户名和密码,我自己选择的是系统默认号码sa,****,数据库选择刚新建的ABC,按下一步;
, N" J: z+ x; k. U: u1 X' t; L, S& ?
8,这一步的两个单项选择,从数据源复制表和视图与用一条查询指令指定要传输的数据,选择前者,按下一步继续;
# |/ w' w- _6 l2 [, R1 a- S# m; O1 W
) ^7 M* j; K/ }( ^( i. Z9,这里将出现你自己ACCESS数据库的表,按全选后,下一步;
1 ?4 ?8 R4 ? Z. r1 |4 A4 V9 k+ k$ H% X0 A
10,DTS导入/导出向导,看立即运行被选中按下一步,
/ `( V- H2 P8 ^3 R4 W$ j; D& ~8 R, n r( o1 Q" a' | M- C
11,按完成继续; & }0 s9 n' t+ t. `' j# z
7 p& B* v5 N/ l0 M3 Z7 O12,这个步骤你将看到你的数据被导入SQL2000里面,当出现已经成功把XXX个表导入到数据库的字样,而且所有的表前面都有绿色的勾,就表示成功导入所有数据,如果中途出现问题或者表前面有红色的*的话,说明该表没有成功导入,这时就要回去查看自己的操作是否正确了. 9 z7 P! ]* v2 \: u* t6 a5 F# u: f
5 T i, d* b( ~& h9 k+ [6 p三,数据修改 : [6 L& \2 i+ ^* M [ X/ d6 O
5 ~- D0 z4 o4 p8 n; H l5 Q& o U( X: S
1,由于SQL2000里面没有自动编号,所以你的以自动编号设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的标示选择是,种子为1,增量为1, , C: R# o5 W6 K9 A! H+ ], ?
$ f- d; i/ s6 x/ K2,另外,ACCESS2000转换成SQL2000后,原来属性为是/否的字段将被转换成非空的bit,这时候你必须修改成自己想要的属性了;
4 V; e- v5 Y! }6 g; ^7 T0 L" Z6 q3 ~- _- B6 |% `, e" R8 b
3,另外,大家要注意对时间函数的把握.ACCESS与SQL是有很多不同的./ T4 |* T" {* @0 @& Y( u
6 o3 j, z; ?) V9 \6 bACCESS转MS SQL数据库的几点经验/ V8 ~( A) V, F0 k% t) }
9 v% u: @4 {2 r9 E
1.ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号! $ V# X8 _9 P! U# x/ T- V6 N: S. L
, W& K# S5 x0 t v5 v" K3 \2.转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。我遇见这种情况,用smalldatetime型时,转化失败,而用datetime型时,转化成功。
6 X9 O& ^8 W; u$ M; K+ i/ y& v
, `" p: e4 U4 |' K3.对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:delete * from user where id=10,而对SQL SERVER数据库进行删除是用:delete user where id=10.
+ l+ C0 N6 H/ G9 k8 y7 V/ h* c( T6 p, @0 Q/ d
4.日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
$ w1 k# C; _6 U7 D$ }* f# e. T
: d1 A) o, L K( a7 e1 N9 V5.在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。