몇 년 전에 제가 작성한 스크립트는 전체 데이터베이스의 데이터를 자동으로 교체할 수 있습니다.
처음에는 그냥 재미로 썼는데, 쓴 후에도 사람들이 계속 물어볼 거라고는 예상하지 못했기 때문에 코드를 다시 작성하고 개선했습니다. 오류가 발생하여 EXE 프로그램을 만들었습니다. 가상의 도움을 주셔서 감사합니다.
첨부된 ASP 코드:
다음과 같이 코드를 복사합니다:<%
'################################
' 데이터베이스 콘텐츠 일괄 교체 2008 -3-17
'교체는 되돌릴 수 없으므로 작업 전에 백업을 만드십시오
'############################ ### #
희미하다 Db,conn,Rs1,Rs2,Str1,Str2,I,Re
str1=admi[0-z] '교체할 문자열, 일반
str2=1234 지원'교체할
문자열 Db=db.mdb '데이터베이스 주소
' 필요 없음 다음을 변경하려면
'일반 객체 만들기
Set Re=new RegExp
Re.IgnoreCase =True
Re.Global=True
Set Conn=Server.CreateObject(ADODB.Connection)
Conn.Open Provider=Microsoft.Jet.OLEDB.4.0;데이터 소스=&server.mappath(Db)
Set Rs1 = Conn.OpenSchema(20)
Rs1.Eof가 아닌
경우 UCase( Rs1(TABLE_TYPE))=TABLE Then '사용자 테이블인 경우
Set
작업을 수행합니다.Rs2=Server.Createobject(adodb.recordset)
Rs2.Open select * from [&Rs1(TABLE_NAME)],conn,1,3
Do While Not Rs2.Eof
For I=0 to Rs2.fields.count-1 '모든 필드 탐색
Rs2(i).Properties(ISAUTOINCREMENT) = False 및 Rs2(i).Type<>128 및 Rs2(i).Type<>204 And Rs2(i).Type<>205 Then '자동번호도 아니고 올레객체도 아닌 경우
Rs2(Rs2(i).name)=Myreplace(Rs2(i ).value&)
End If
Next
Rs2.Movenext
Loop
Rs2.Close
Set Rs2=nothing
End If
Rs1.MoveNext
Loop
Rs1.Close
Set Rs1=Nothing
Conn.close
Set Conn=Nothing
Set Re=Nothing
Response.Write 대체
완료' 맞춤형 대체 함수
함수 myreplace(byval Tstr)
If Tstr= Or isnull(Tstr) Then
Exit Function
Else
Re.Pattern=Str1
myReplace =Re.Replace(Tstr,Str2)
End If
End Function
% >