@洪流Blog
space ホーム space|space ユーザログイン
space
 現在位置:技術 >> データベース >>access TO sql SERVER

access TO sql SERVER
投稿者:于洪流

迁移的时候,一般会遇到:
 
  第一步:利用ACCESS   工具中的“升迁向导”将ACCESS数据库转入MSSQL数据库
  第二步:检查一些特定字段的属性是否正常(如自增字段,是否字段,时间字段,有默认值的字段)
  第三步:修改conn.asp文件中的数据库连接字符串(指所有相左关的conn.asp文件)
  第四步:修改程序中与   是否字段   及   时间字段   相关的代码,
 
                  关于now:
                  如原先的SQL语句可能是这样:
                  update   table1   set   a=now()
                  现应改成:
                  update   table1   set   a=getdate()
                  因为在MSSQL另表示现在时间的是getdate()而不是如ACCESS中的now()
 
                  以上情况的报错可能是:
                  Microsoft   OLE   DB   Provider   for   SQL   Server   错误   '80040e14'
 
                  'now'   不是可以识别的   函数名。
 
                  例子是:/bigclass.asp,行   810
 
                  修改难度:易(替换代码中的now()为getdate()就行)
 
 
                  关于true与false:
                  比如原先的SQL语句可能这样:
                  update   table1   set   b=true
                  现应改成:
                  update   table1   set   b=1
                  因为MSSQL中表示“真”是1,“否”是0,而不是ACCESS中的   “true”与“false”
 
                  以上情况的报错可能是:
 
 
                  例子是:
 
                  修改难度:较难(必须得替换SQL语句的true为1,因为可能程序代码也存在true,所以是不能全部替换的)
 
 
                  关于保留字:
                  MSSQL对保留字的要求对ACCESS的要求更严
                  在MSSQL的SQL语句是不能这样写的:
                  所以在MSSQL中最好不要用保留字做字段名,比如一个字段名是name,   这种情况在MSSQL中是不提倡的,这在很多情况下的查询语句是不被支持的,如果实在要用,那么SQL语句中最好这么写[name]
 
 
  五:其它不该错的错:
          admin/newsadd1.asp,行15
          SQL语句是这样的:select   *   from   System   where   name,这是一个明显错误的SQL语句,且不说保留字先,光语法就是错误的,修改为:
          select   *   from   System
 
 
 
  附conn.asp文件代码:
  <%
  set   conn=server.createobject("ADODB.connection")
  conn.open   "PROVIDER=SQLOLEDB;DATA   SOURCE=127.0.0.1;UID=你的用户名;PWD=密码;DATABASE=升迁后的库名"
  %>
loginユーザメニュー
  ユーザログイン  

     トップ↑

space
@洪流Blog 最新コンテンツ サイト情報 権利情報 提携リンク
Copyright ©2002-2018 洪流  Mobileモード    中国語メニュー(追加中)
OneIDSystem Ver:1.5.0.1.2 Powered by:OneID.id