如何将access数据库转mssql数据库过程详解

idcbe.com
     如何将access数据库转mssql,数据库转换需要知道的地方

     首先你要先把AC数据库的数据全部导入到MSSQL中,过程简单,打开SQL
      Server的企业管理器,“所有任务》导入数据”,接着按提示来就行了。其他基本上改动不大,主要就几点:
      1,连接语句
      将连接(Jet连接方式)语句connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
      Server.MapPath(db1)
      改为
      strSQLServerName = "(local)" '服务器名称或地址
      strSQLDBUserName = "" '数据库帐号
      strSQLDBPassword = "" '数据库密码
      strSQLDBName = "" '数据库名称
      connstr = "Provider=SQLOLEDB.1;Persist Security Info=False;Server=" &
      strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" &
      strSQLDBPassword & ";Database=" & strSQLDBName & ";"
      db="/wap/gm/shouhud.mdb" 删掉

      2,由于SQL2000里面没有自动编号,所以你的以自动编号设置的字段都会变成非空的字段,这就必须手工修改这些字段。打开MSSQL企业管理器,选中你使用的数据库,然后在“表”中,选择“设计表”,然后把“标示”选择是,标示种子为1,标示递增量为1,另外,ACCESS转换成SQL2000后,原来属性为是/否的字段将被转换成非空的bit,这时候你必须修改成自己想要的属性了。

      3,在对ACCESS数据库处理中,sql语句中直接可以用一些VB的函数,像cstr()、cint等函数,而对SQL
      SERVER数据库处理中,却不能用。

      4,其他
      (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. 再比如这句:select * from
      user where (UsrName not like '管理员' and
      '游客'),在AC数据库中可以这样使用,但在MSSQL中就必须这样:select * from user where (UsrName not
      like '管理员' and acc not like '游客')。
      数据库中如含有index等字段,在写SQL语句的时候,要注意加上[]将该字段括起来,如:select * from table where
      [index]='yes',因为将AC转化为MSSQL后,会自动加上中括号。
      (4)日期函数不相同,在对ACCESS数据库处理中,可用date()、time()等函数,但对SQL
      SERVER数据库处理中,只能用datediff,dateadd等函数,而不能用date()、time()等函数。
      now(),time(),date()可能要改成getdate()[关于这个,我AC2003转SQL的时候并没有出现,但还是要注意下]。datediff('d',
      time1, time2)要改成datediff(day, time1, time2)
      (5)有可能一些true/false类型不能使用,要变为1/0。

[本日志由 edwin 于 2009-01-13 11:22 AM 编辑]
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: access mssql 数据库
评论: 0 | 引用: 0 | 查看次数: 6074
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 50 字 | UBB代码 关闭 | [img]标签 关闭
idcbe.com