现在面临两个问题
1、免费版客户使用的ACCESS数据库,现在要把他的数据库升级为SQL数据库,要用ASP文件实行;
2、老版本的SQL用户想升级为新版本SQL系统,也要对他的数据库做适当的升级..(也要用ASP文件实行)
看了下动易的写法,真有点头晕,所以在此发贴,寻求大家帮助
谢谢!
[此贴子已经被作者于2007-3-26 10:52:16编辑过]
比如
Access数据库的连接
conAccess.asp
<%
Dim constr
Dim conAccess
Dim dbPath
dbPath="[数据库的URL路径]"
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(dbPath)&";Persist Security Info=False"
Set conAccess=Server.CreateObject("ADODB.Connection")
conAccess.Open constr
%>
SQL Server数据库的连接
conSql.asp
<%
Dim constr
Dim conSql
Dim dbName
Dim dbUsName
Dim dbPwd
Dim dbServer
dbName="[数据库的名称]"
dbUsName="[连接数据库的用户名]"
dbPwd="[连接数据库的密码]"
dbServer="[数据库服务器的IP地址或计算机名称]"
constr = "Provider=SQLOLEDB.1;Password="&dbPwd&";Persist Security Info=True;User ID="&dbUsName&";Initial Catalog="&dbName&";Data Source="&dbServer
Set conSql=Server.CreateObject("ADODB.Connection")
conSql.Open constr
%>
数据库的资源释放网页
Release.asp
<%
conAccess.close
conSql.close
set conAccess=nothing
set conSql=nothing
%>
主要的转换网页,执行这个网页进行转换
DBConversion.asp
<!--#include file="conAccess.asp"-->
<!--#include file="conSql.asp"-->
<html>
<head>
<title>数据转换网页</title>
</head>
<body>
<%
Dim rsSql,rsAccess'记录集
Dim SqlTBName,AccessTBName'两个数据库的SQL语句
Dim Coni'循环临时变量
SqlTBName="select * from [SQL数据库中的表名]"
AccessTBName="select * from [Access数据库中的表名]"
Set rsSql=Server.CreateObject("ADODB.RecordSet")'创建SQL记录集
Set rsAccess=Server.CreateObject("ADODB.RecordSet")'创建Access记录集
'打开记录集
rsSql.Open SqlTBName,conSql,1,3
rsAccess.Open SqlAccess,conAccess,1,3
'循环Access数据库的表添加到Sql的表中
Do Until rsAccess.EOF
rsSql.AddNew
For Coni=0 To rsAccess.Fields.Count-1
rsSql.Fields(Coni).Value=rsAccess.Fields(Coni).Value
Next
rsAccess.MoveNext
Loop
rsSql.Update'执行SQL添加操作,数据添加到SQL Server中
'释放资源关闭记录集
rsAccess.Close
rsSql.Close
Set rsAccess=Nothing
Set rsSql=Nothing
%>
</body>
<!--#include file="Release.asp"-->
</html>
注:使用上面程序的前提是SQL数据库已建立完毕,无数据。Access有数据,且转换的两个表结构相同。