« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
| 公告 |
我不去想是否能够成功,既然选择了远方,便只能风雨兼程; 我不去想,身后会不会袭来寒风冷雨,既然目标是地平线,留给世界的只能是背影!人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,爱就爱得轰轰烈烈,狠就狠的刻骨铭心! |
Blog信息 |
blog名称:Rabbit's Blog--我的blog我做主 日志总数:52 评论数量:41 留言数量:-10 访问次数:237397 建立时间:2005年12月7日 |

| |
ACCESS改为SQL需要注意哪几个地方 文章收藏, 软件技术
开心兔子 发表于 2006/4/29 8:16:01 |
结合自己工作的经验写成:
数据库导入以后,自动增加字段需要重写,所有的数字类型需要增加长度,最好用decimal。
所有的默认值都丢失了。主要是数字类型和日期类型。
所有now(),time(),date()要改成getdate()。
所有datediff('d', time1, time2)要改成datediff(day, time1, time2)
有可能一些true/false类型不能使用,要变为1/0。
备注类型要通过cast(column as varchar)来使用。
CursorType要改成1,也就是打开数据库时要给出第一个数字参数为1,否则记录可能显示不完整。
isnull(rowname)要改成rowname = null
ACCESS的数据库中的自动编号类型在转化时,sql server并没有将它设为自动编号型,我们需在SQL创建语句中加上identity,表示自动编号!
转化时,跟日期有关的字段,SQL SERVER默认为smalldatetime型,我们最好将它变为datetime型,因为datetime型的范围比smalldatetime型大。有时用smalldatetime型时,转化失败,而用datetime型时,转化成功。
对此两种数据库进行操作的sql语句不全相同,例如:在对ACCESS数据库进行删除纪录时用:"delete * from user where id=10",而对SQL SERVER数据库进行删除是用:"delete user where id=10".
日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()函数,而对SQL SERVER数据库处理中,却不能用。 |
|
回复:ACCESS改为SQL需要注意哪几个地方 文章收藏, 软件技术
自由的Monkey发表评论于2006/4/29 16:19:32 |
交流一下!
不知道你将Access数据转换到SQL Server时是如何操作的?我曾经也将有将Access转成SQL Server的经历,那时我使用的方法是:通过SQL Server中的“数据导入导出”将Access数据转换到SQL Server中,导入后会发现递增字段、索引等均会出现丢失现象,需要手工重新调整。
后来在网上查到一种新的方法,直接利用Access中提供的“升迁向导”功能将Access数据转成SQL Server。这种转换方式的优点:
(1)简单方便
(2)保留数据库结构,包括数据、索引和默认设置。 (3)自动将 Access 有效性规则和默认设置转换为适当的 SQL Server 等效内容。 (4)在升迁后可保持表关系和参照完整性。
具体操作:
(1)启动Access 2000
(2)在“工具”菜单上,指向“数据库实用工具”,然后单击“升迁向导”。
我使用过一次觉得确实很方便,可以减少很多手工工作量,你可以尝试一下。
|
|
» 1 »
|