您的位置:首页 > 数据库

使用程序把access2000 数据转到MSsql数据库中

2011-07-02 09:50 225 查看
使用程序把access2000 数据转到MSsql数据库中,最近升级数据库,以前使用access 数据库 由于数据越来越大,只能升级数据库了,所以选择了,msSQL2008 ,可是以前的数据如何原封不动的转移呢,真是头疼啊 ,我利用asp程序完成了转移,代码如下:
首先按照access数据库表结构,创建mssql2008数据库,注意字段必须相同,否则会出错。
注意:MSSQL2008 文本最好用nvarchar  ,如果access字段是备注类型的 最好用 [ntext] NULL,
这是一个转移数据的asp代码:
思路:首先算出access有多少数据,然后把sql2008填充多少空数据,
最后:按照ID 进行每个数据的更新,

If request.Form("stable")=1 Then
sql_access=sql_access+"tabproduct"
sql_max_id="select max(id) as maxNum from tabproduct"
set rs_max=server.CreateObject("adodb.recordset")
rs_max.open sql_max_id,conn,1,3
if not rs_max.eof then
max_id=rs_max("maxNum")
else
max_id=0
end if

if max_id=0 then

else

for i = 1 to max_id
sql_insert="insert into tabproduct (product_name) values (')"
conn_sql.execute(sql_insert)
next
response.Write max_id & "<<<<tabproduct Insert Success<br>"
end if
'开始转移数据
sql_access="select * from tabproduct"
set rs_access=server.CreateObject("adodb.recordset")
rs_access.open sql_access,conn,1,3

If Not rs_access.eof Then
for i=0 to rs_access.recordcount-1
'打开sql数据库
sql_update="select * from tabproduct where id=" & rs_access("id")
set rs_sql2008=server.CreateObject("adodb.recordset")
rs_sql2008.open sql_update,conn_sql,1,3
if not rs_sql2008.eof then
For k=1 To rs_access.fields.count-1
fields_name=rs_access.fields(k).name

rs_sql2000("" & fields_name & "")=rs_access("" & fields_name &"")
‘ rs_sql2000("product_name")=rs_access("product_name")
’rs_sql2008("product_count")=rs_access("product_count")
’rs_sql2008("gonghuoshang")=rs_access("gonghuoshang")
‘ rs_sql2008("collection_times")=rs_access("collection_times")
’ rs_sql2008("keyword")=rs_access("keyword")

Next
rs_sql2008.update
rs_sql2008.close
set rs_sql2008=nothing
end if
rs_access.movenext
Next

set rs_sql2000=nothing
set rs_access=Nothing
end if
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐