asp网站从ACCESS转SQLSERVER

ASP网站ACCESS数据库MS SQL以及远程连接MS SQL数据库的经验 自己的一个网站,之前一直使用ASP+ACCESS的组合。但access数据库的不足和弊端是显而易见的。近期,随着网站规模的扩大,对数据库的要求提高了,打算用MS SQL替换ACCESS数据库,上网查了一下,虽然有点小繁琐,但总体不是很难。于是决定实施,大致经历了本地个人电脑安装SQL Server 2008、用第三方工具ACCESS为MSSQLASP网站程序代码修改和本地调试、本地MSSQL... 阅读详情

前几天为制作一个网站,需要从ACCESS转至SQLSERVER,从网站上查看了很多的资料,但觉得没有一个能够全面覆盖要点的,所以我总结一下,顺便 给出一些经验。

    首先如果一开始就需要制作SQLSERVER的网站,那么最好将你的爱机装上WINDOWS2000或者2003这样的SERVER版,这样的版本是支持 SQLSERVER正式版的安装的,而XP只能支持个人版或者开发版,我没有装过,但对于调试网站而言最好还是在正式版下工作,转化的整个过程不算太复 杂,但至少可以省下一些精力。我的爱机是XP,所以只好先用ACCESS调试。

    好了,当你找到一台装有SQLSERVER的机器时,你便可以开始转换并调试了。

    1。先利用转化软件:CooSel2.0 CreateSQL V1.05,我用的这个,非常好用。具体操作的话,我用的是生成升迁SQL脚本,保存为 *.sql文件后,在SQL2000的查询分析器里调入执行。而SQLSERVER的具体操作在此不便赘述。这样,你的数据库就转化成了MSSQL数据库

    2。对asp而言,首先是数据库连接文件的修改:这点可以参考动网论坛的conn.asp

Dim ConnStr
'sql数据库连接参数:数据库名、用户密码、用户名、连接名(本地用local,外地用IP)
Dim SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName
SqlDatabaseName = "dvbbs7"  '数据库名称
SqlPassword = ""            '数据库密码
SqlUsername = "dvbbs"       '数据库用户名
SqlLocalName = "(local)"
ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"
On Error Resume Next
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr

即只需要修改数据库名称、用户名和密码即可覆盖原来的ACCESS连接方法并使用。如果你的网站同时包含了动网论坛,则可根据1。的操作将动网的数 据库也转换成SQLSERVER,值得称道的是:动网考虑了ACCESS和SQLSERVER两种数据库的使用,因此在修改ASP源代码的时候不需要对动 网的源代码进行更改,可谓方便至极,考虑得十分周全~~

    3。这时候你可以先浏览一下新的网站了,如果出错了,也不用担心,但是有很多页面已经是可以正常显示了。接着就是对整站程序的修改了。尤其要注意的是:所 有的修改都只针对对数据库进行操作的语句,几乎全是对SQL语句的修改。而在一般的代码中是绝对不需要修改的!否则会出错!!

    4。真假值的判断。ACCESS提供了布尔值这一数据类型,但是在SQLSERVER中,如果你在SQL语句中填写Where AA=True则是错误的,因为MSSQL不支持在数据库中True和False的判断。这时候你需要将所有SQL语句中的True和False改为1和 0。而在一般的程序中,例如rs("aa")=True则不需要修改!因为这句话并不是对数据库的操作。可能你会说这样改起来,对于大网站而言,是非常麻 烦的,的确,但有一些比较简便的方法。比如在dreamweaver中,你可以利用整个文件夹的查找,找出所有的True和False,然后筛选出对数据 库进行操作的True和False并将他们改成1和0。另外还有一点:在SQLSERVER中也需要更改一下,ACCESS转化后布尔值变成了Bit值, 最好将默认值设为0,即与ACCESS一样设置默认值为False。

    5。有一些网站中提到:sql数据库表是没有自动字段的,因此原来access中的自动字段被转换成了普通字段,需要手工改成标识类型,增量为1。这点其 实软件在转化的过程中已经帮你完成了,如果你是手工转化的话,确实需要修改标识类型。还有一点我没有遇到过,但是有的网站也提到了:空值的表示:在 access中,判断空值一般用是否=""来表示,但是这在SQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)。

    6。如果你在SQL语句中同时使用了VB函数,很遗憾,这在MSSQL中是不能被辨认的,最好的方法是先将他在SQL之外处理,然后存入变量中导入到 SQL语句中。

    7。最主要的还是时间函数的各种修改,这占到了工作量的90%。其一是将所有数据库操作语句 中 的NOW()转化成GETDATE();其二是datediff和dateadd这类函数需要将第一项中的引号去掉,即 datediff("s",date1,date2)改为datediff(s,date1,date2);其三,ACCESS中时间字符串都用#括起 来,而MSSQL中是用''来表示的,即等同于一般的字符串;其四有一些时间函数在MSSQL中是不能被辨认的,基本上所有的SQLSERVER中的时间 日期函数如下:

day(),  month(),  year()    
dateadd(datepart,  number,  date),  datapart指定对那一部分加,number知道加多少,date指定在谁的基础上加。datepart的取值包 括,year,quarter,month,dayofyear,day,week,hour,minute,second,比如明天 dateadd(day,1,  getdate())    
datediff(datepart,date1,date2).  datapart和上面一样。整个函数结果是date2  -  date1    
datename(datepart,  date)  取那一部分,返回字符串。    
datepart(datepart,  date)  取一部分,返回整数。    
getdate() 当前时间

PS一下,这是我在CSDN上花100分“买”回来的,很贵。。。可能你要说网上可以搜到N的N次方条这样的记录,但一来他们的讲解并没到讲到我的 问题上来,二来有些东西第一遍看上去没有感觉,只有反复琢磨才会有收获的。

因此:如果你的时间函数不在上述范围内或者与之不尽相同,请根据相应的说明加以修改。

完成了以上的工作,基本上你的网站就可以正常运行了,当时我修改的时候用了2个小时,我个人认为完全可以接受,比我当初想像中的要快很多。但是之所 以去CSDN问,是因为当时传递了一个时间作为变量,而当传递过去以后,在SQL中是不能正常执行的,也就是说传递过去的时间不管你怎么换,SQL都不认 为那是时间,因此最好的方法是传递小时,分钟或者日期,单个传递和判断。datepart返回的就是整数,这样就可以与传递的参数相等了。

基本上想到的就是这些,过去很多天了,漏洞的地方在所难免,如果有其他问题欢迎一起讨论~~

快速搭建iis+access网站 网站搭建 Windows+iis+asp+access 2. Windows+apmserv+php+MySQL Windows+iis+asp+msSQL 4. Windows+tomcat+jsp+MySQL Windows+asp小旋风+asp+access Linux+Apache+php+MySQL Linux+Nginx+php+MySQL Linux+Apache+Nginx+PH... 阅读详情

相关推荐

ASP在线将ACCESSMSSQL程序

ASP在线将ACCESSMSSQL程序

自己动手把ACCESS换到SQLSERVER的方法

主要介绍了自己动手把ACCESS换到SQLSERVER方法,需要的朋友可以参考下

access换成sqlserver数据库

access换成sqlserver数据库

剖析Access数据库升迁SQL Server问题

  在软件开发过程中经常会遇到数据库升迁的问题,原因比较多,如acsess访问速度比sql server慢、删除数据记录后access会留下空档,文件越来越大(也可用压缩修复的方式减小文件大小,但太麻烦),访问速度越来越慢,甚至会数据库损坏,损坏得比较轻的可以找第三方工具来修复,便严重时会导致数据库无法修复,或修复后数据记录会损坏。所以我们大有必要升迁我们现有的Access数据库SQL Serv

aaaaatiger--寻路 684

科汛CMS Access 自助升级到 Sql Server 版

SqlServer 的性能比 Access 提高的不止一点了。不过,科汛CMS的免费版带的是 Access 数据库。有没有办法成 mssql 的呢?当然可以1, mssql中新建一张表,然后导入 access 里面的表和数据.   这个网上有方法,不多说了。2, 修改 conn.aspsql server 版本,这个也简单。3, 浏览数据,直接就可以看了,很高兴,不

1181

网站ASP+ACCESS改成ASP+SQL SEVER

最近把ACCESS数据库迁移到了SQLSQERVER2000上,在操作的过程中总结了一下两者存在的一些区别1、对于日期字段   access表示为:#1981-28-12#     SQLSERVER2000表示为:1981-02-122、SQL语句区别.    select ,update 在对单表操作时都差不多,  但多表操作时update语句的区别ACCESSSQLSERVER中的UP

hua2516的专栏 1427

Access数据库迁移到MS SQL Server数据库

1、在SQL Server里新建一个与ACCESS数据库同名的数据库,也可不同选中数据库,右键,新建数据库。 例如,输入数据库名称 MyMeterDB 2. 选中创建的数据库 MyMeterDB,右键,选择任务,再选择导入数据 3. SQL Server导入和导出向导,直接下一步 4. 选择 Microsoft Access 数据引擎 5. 选择Access数据库源文件如存在用户名和密码则需填写,没有就不需要填写 6. 选择高级,配置数据链接属性,

flysh05的专栏 2981

asp网站- ACCESSSQL SERVER 2000

花了两个晚上帮朋友将一个asp开发的网站ACCESS数据库SQL SERVER 2000. 网上查了些资料,加上自己的经历,总结: 1、首先看asp 的程序中是否有 on error resume next; 如果有,先注释掉。否则很多错误无法暴露出来 2、创建SQL SERVER 数据表。 使用SQL SERVER 2000自带的数据导入向导,将ACCESS数据库中的表结构

rungoosc的专栏 537

ASP完美ACCESSSQL数据库连接

其实两者基本通用 步骤很简单3步:1,化MDB数据库SQL SQL工具里就有2, 更改数据库链接字串 以下为代码:Set Conn=Server.CreateObject("ADODB.Connection")SQL="Driver={SQL Server};Server=XD-Y1W9B7;UID=sa;PWD=sa;DataBase=ljl"Conn.Open(SQL)最后是SQL与A

南三方---网站设计开发录 430

ACCESSSQLSERVER

前几天为制作一个网站,需要从ACCESSSQLSERVER,从网站上查看了很多的资料,但觉得没有一个能够全面覆盖要点的,所以我总结一下,顺便给出一些经验。    首先如果一开始就需要制作SQLSERVER网站,那么最好将你的爱机装上WINDOWS2000或者2003这样的SERVER版,这样的版本是支持SQLSERVER正式版的安装的,而XP只能支持个人版或者开发版,我没有装过,但对于调试网

chengxufan的专栏 1269

揭露骇客入侵ASP+Access或MSSQL网站的手法+防御

让大家知道骇客入侵ASP网站技术 1.【ASP+ACCESS入侵方式】 1.用啊D或明小子扫描检测是否有注入点。 2.扫描ACCESS数据库里的管理员的帐号和密码,但是密码一般都是用MD5加密过的,大家可以到其他 MD5网站里破解。 3.扫描网站的后台地址,然后用破解出来的帐号和密码登录后台,找到文件上传的地方,利用ASP上传漏洞上传ASP木马,但是有不少...

weixin_30677617的博客 842

mysql sqlserver access数据库_网站SQL Server还是Access当后台数据库

展开全部网站数据库,是选SQL Server还是Access好,可能您会说:选62616964757a686964616fe78988e69d8331333361313235MySQL好,不过现在只是讨论IIS+ASP这种架构下的选择,不讨论Apache+PHP的情况。如果您现在是在局域网中使用,而且软件的价格成本不是考虑的因素,那当然是用SQL Server好了,似乎这个问题没什么好讨论的。不过...

weixin_35075740的博客 412

access mysql mssql_ACCESS数据库自行换成MSSQL数据库教程

ACCESS数据库自行换成MSSQL数据库教程来源:欧傅 日期:2018/1/27 9:39:36 累计阅读:2837次准备工夫:在自己的电脑上,安装MSSQL2000数据库,安装ACCESS2003软件。ACCESS换成MSSQL的操作方法如下:1)用ACCESS2003软件打开网站数据库,如下图所示,工具-数据库实用工具-升迁向导2)进入如下图界面,点击下一步。3)进入如下图界面,点击下...

weixin_33603405的博客 422

asp建站系统源码_企业政府,企业网站源码,政府网站源码 - 下载列表

企业政府 | 免费版 | 大小: | 环境:ASP/Access | 人气:77327ZYCH自由策划企业网站管理系统是一个智能ASP网站管理程序,是基于自由策划企业网站系列的升级版,结合以往版本的功能优势,解决了频道模板不能自由添加删减的问题,系统开发代码编写工整,方便读懂,系统采用程序模...企业政府 | 商业版 | 大小: | 环境:ASP/Access/MSSQL | 人气:9267Ope...

weixin_39843093的博客 639

ACCESS作为网站数据库的弊端

  现在网上绝大多数网站都是ACCESS+ASP的形式,因为ACCESS结构简单容易处理,而且也能满足多数的网站程序要求。  ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消:  1。数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降!  2。网站访问频繁,经常达到100人左右的在线。  3。记录数过多,一般记录数达到10万条左右的时候性

大褚帝国 723

aspaccess怎样搭建_asp access网站搭建

网络安全系列之三 搭建Web渗透平台(ASP)在学习或是讲授网络安全方面的课程时,最大的麻烦就是如何设置各种实验。若是找真实的网站练手,一方面有漏洞的网站已经很难找了,另一方面即使能找到存在漏洞的网站,那也存在法律方面的风险,所以最好的途径还是自己来搭建实验环境。在实验环境中,系统平台当然还是选择VMWare+Win2003(Win2003...文章科技小能手2017-11-21749浏览量搭建云...

weixin_39523887的博客 786

asp建站系统源码_Asp源码_asp网站源码_asp源码下载

企业政府 | 免费版 | 大小: | 环境:ASP/Access | 人气:77585ZYCH自由策划企业网站管理系统是一个智能ASP网站管理程序,是基于自由策划企业网站系列的升级版,结合以往版本的功能优势,解决了频道模板不能自由添加删减的问题,系统开发代码编写工整,方便读懂,系统采用程序模...整站栏目 | 开源软件 | 大小: | 环境:ASP/Access | 人气:141265站酷爱装网是...

weixin_39574869的博客 1337
上一篇: 一些优秀的查询语句
下一篇: ASP一个网页处理所有问题(添加,修改,删除,列表)框架
websph
博客等级 码龄20年 21粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值