Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

William's Utilities :: Copy DB

option explicit
wscript.echo "Copying Website tables from Oracle to MSSQL"

' - Copy website tables

' - Declare variables
dim conDBOracleRead, conDBCommonRead, objFSO
dim rexObj, objFile, strConnectionStrings, aryConnectionStrings
dim intCount, strConnectionStringName, strConnectionStringContent
dim hashConnectionStrings, strContent, strWebTreeContent
dim aryOracleColumnNames, aryMSColumnNames, aryDataTypes
dim intNumRecords

' - Initialize variables
set conDBOracleRead=CreateObject("ADODB.Recordset")
set conDBCommonRead=CreateObject("ADODB.Recordset")
set objFSO=wscript.createobject("scripting.filesystemobject")
set hashConnectionStrings=createobject("scripting.dictionary")
set rexObj=new RegExp
rexObj.ignorecase=true
rexObj.global=true

' - Get connection strings from global.asa
set objFile=objFSO.opentextfile("\internet public\wwwroot\global.asa")
strConnectionStrings=objFile.readall
set objFile=nothing

' - Delete comments
rexObj.pattern="'.+?\n"
strConnectionStrings=rexObj.replace(strConnectionStrings, "")
aryConnectionStrings=split(strConnectionStrings, vbcrlf)

for intCount=0 to ubound(aryConnectionStrings)
   if instr(aryConnectionStrings(intCount), "application(")=0 then
      aryConnectionStrings(intCount)=""
   end if
   if aryConnectionStrings(intCount)<>"" then
      strConnectionStringName=aryConnectionStrings(intCount)
      strConnectionStringName=mid(strConnectionStringName, instr(strConnectionStringName, chr(34))+1)
      strConnectionStringName=left(strConnectionStringName, instr(strConnectionStringName, chr(34))-1)
      strConnectionStringContent=aryConnectionStrings(intCount)
      strConnectionStringContent=mid(strConnectionStringContent, instr(strConnectionStringContent, "=")+1)
      strConnectionStringContent=replace(strConnectionStringContent, chr(34), "")
      hashConnectionStrings(strConnectionStringName)=strConnectionStringContent
   end if
next

' - Insert CLOBRead ASP function
' - CLOBRead(strTable, strCLOBColumn, strWhereClause, strConnectionString)
' - Note: I read the CLOBRead function from a database (overall, easier administration than using include files).
' - Take the CLOBRead function (from williammeitzen.netfirms.com), and replace:
' - FROM server.createobject TO createobject
' - FROM response.write TO wscript.echo
'conDBCommonRead.open "select dbms_lob.substr(content, dbms_lob.getlength(content), 1) as content from common_stuff where title='CLOBRead'", hashConnectionStrings("CommonStuffRead")
conDBCommonRead.open "SELECT content FROM common WHERE title='CLOBRead'", hashConnectionStrings("CommonRead")
strContent=conDBCommonRead("content")
conDBCommonRead.close
rexObj.pattern="server.createobject"
strContent=rexObj.replace(strContent, "createobject")
rexObj.pattern="response.write"
strContent=rexObj.replace(strContent, "wscript.echo")
execute(strContent)

' - Insert CLOBUpdate ASP subroutine
' - CLOBUpdate(strTableCU, strCLOBColumnCU, strContentCU, strWhereClauseCU, strConnectionStringCU)
' - Note: I read the CLOBUpdate function from a database (overall, easier administration than using include files).
' - Take the CLOBUpdate function (from williammeitzen.netfirms.com), and replace:
' - FROM server.createobject TO createobject
' - FROM response.write TO wscript.echo
'strContent=CLOBRead("common_stuff", "content", "title='CLOBUpdate'", hashConnectionStrings("CommonStuffRead"))
conDBCommonRead.open "SELECT content FROM common WHERE title='CLOBUpdate'", hashConnectionStrings("CommonRead")
'execute(conDBCommonRead("content"))
strContent=conDBCommonRead("content")
conDBCommonRead.close
rexObj.pattern="server.createobject"
strContent=rexObj.replace(strContent, "createobject")
rexObj.pattern="response.write"
strContent=rexObj.replace(strContent, "wscript.echo")
execute(strContent)

'wscript.quit

sub CopyData(strOracleTablename, strOracleKeyColumnname, intOracleKeyDatatype, aryOracleColumnNames, strOracleConnectionReadString, strMSTablename, aryMSColumnNames, aryDatatypes, strMSConnectionWriteString)
   dim aryOracleData(200)
   dim strOracleRead
   dim conDBMSWrite
   dim strMSColumnNames
   dim strMSColumnData
   dim strMSWrite
   dim intRecordsAffected

   wscript.echo "Copying Oracle table '" & strOracleTablename & "' to MSSQL table '" & strMSTablename & "' ..."
   if ubound(aryOracleColumnNames)<>ubound(aryMSColumnNames) or ubound(aryOracleColumnNames)<>ubound(aryDatatypes) then
      wscript.echo "Number of Oracle column names, MS Column names, and Data types do not match. Halting."
      wscript.quit
   end if

   intNumRecords=0
   set conDBOracleRead=CreateObject("ADODB.Recordset")
   set conDBMSWrite=CreateObject("ADODB.Connection")

   ' - erase all existing data in destination MSSQL table
   strMSWrite="delete from " & strMSTablename
   conDBMSWrite.open strMSConnectionWriteString
   conDBMSWrite.BeginTrans
   conDBMSWrite.Execute strMSWrite, intRecordsAffected
   conDBMSWrite.CommitTrans
   conDBMSWrite.close

   ' - create string to read data from Oracle table
   strOracleRead="select "
   for intCount=0 to ubound(aryOracleColumnNames)
      strOracleRead=strOracleRead & aryOracleColumnNames(intCount) & ", "
   next

   ' - delete trailing comma
   strOracleRead=left(strOracleRead, len(strOracleRead)-2)
   strOracleRead=strOracleRead & " from " & strOracleTablename

   conDBOracleRead.open strOracleRead, strOracleConnectionReadString
   ' - while loop - read Oracle table data
   while not(conDBOracleRead.EOF)
      intNumRecords=intNumRecords+1
      ' - read Oracle data
      strMSColumnNames=""
      strMSColumnData=""
      for intCount=0 to ubound(aryOracleColumnNames)
         strMSColumnNames=strMSColumnNames & aryMSColumnNames(intCount) & ", "
         if isnull(conDBOracleRead(aryOracleColumnNames(intCount))) then
            strMSColumnData=strMSColumnData & "null, "
         else
            if aryDatatypes(intCount)=1 then ' - oracle number -> ms int
               strMSColumnData=strMSColumnData & conDBOracleRead(aryOracleColumnNames(intCount)) & ", "
            elseif aryDatatypes(intCount)=2 then ' - oracle number -> ms float
               strMSColumnData=strMSColumnData & conDBOracleRead(aryOracleColumnNames(intCount)) & ", "
            elseif aryDatatypes(intCount)=3 then ' - oracle varchar2 -> ms varchar
               strMSColumnData=strMSColumnData & "'" & replace(conDBOracleRead(aryOracleColumnNames(intCount)),"'", "''") & "', "
            elseif aryDatatypes(intCount)=4 then ' - oracle clob -> ms text
               if intOracleKeyDatatype=1 then ' - oracle key datatype = number
                  ' - CLOBRead(strTable, strCLOBColumn, strWhereClause, strConnectionString)
                  strMSColumnData=strMSColumnData & "'" & replace(CLOBRead(strOracleTablename, aryOracleColumnNames(intCount), strOracleKeyColumnname & "=" & conDBOracleRead(strOracleKeyColumnname), strOracleConnectionReadString), "'", "''") & "', "
               elseif intOracleKeyDatatype=2 then ' - oracle key datatype = varchar2
                  ' - CLOBRead(strTable, strCLOBColumn, strWhereClause, strConnectionString)
                  strMSColumnData=strMSColumnData & "'" & replace(CLOBRead(strOracleTablename, aryOracleColumnNames(intCount), strOracleKeyColumnname & "='" & replace(conDBOracleRead(strOracleKeyColumnname), "'", "''") & "'", strOracleConnectionReadString), "'", "''") & "', "
               else
                  wscript.echo "Oracle key datatype value '" & intOracleKeyDatatype & "' not recognized as number (1) or varchar2 (2). Halting."
                  wscript.quit
               end if
            elseif aryDatatypes(intCount)=5 then ' - oracle date -> ms datetime
               strMSColumnData=strMSColumnData & "'" & replace(conDBOracleRead(aryOracleColumnNames(intCount)),"'", "''") & "', "
            elseif aryDatatypes(intCount)=6 then ' - oracle number -> ms bit
               if conDBOracleRead(aryOracleColumnNames(intCount))+0=1 then ' - true
                  strMSColumnData=strMSColumnData & "1, "
               elseif conDBOracleRead(aryOracleColumnNames(intCount))+0=0 then ' - false
                  strMSColumnData=strMSColumnData & "0, "
               else
                  wscript.echo "Boolean value '" & conDBOracleRead(aryOracleColumnNames(intCount)) & "' not recognized as TRUE (1) or FALSE (0). Halting."
                  wscript.quit
               end if
            elseif aryDatatypes(intCount)=7 then ' - oracle clob -> ms varchar
               ' - CLOBRead(strTable, strCLOBColumn, strWhereClause, strConnectionString)
               strMSColumnData=strMSColumnData & "'" & replace(CLOBRead(strOracleTablename, aryOracleColumnNames(intCount), strOracleKeyColumnname & "=" & conDBOracleRead(strOracleKeyColumnname), strOracleConnectionReadString), "'", "''") & "', "
            else
               wscript.echo "Datatype '" & aryDatatypes(intCount) & "' not recognized. Halting."
               wscript.quit
            end if
         end if
      next

      ' - delete trailing commas
      strMSColumnData=left(strMSColumnData, len(strMSColumnData)-2)
      strMSColumnNames=left(strMSColumnNames, len(strMSColumnNames)-2)

      ' - insert data into MSSQL table
      ' - create string to write data to MSSQL table
      strMSWrite="insert into " & strMSTablename & " (" & strMSColumnNames & ") values (" & strMSColumnData & ")"
'      wscript.echo strMSWrite
      conDBMSWrite.open strMSConnectionWriteString
      conDBMSWrite.BeginTrans
      conDBMSWrite.Execute strMSWrite, intRecordsAffected
      if intRecordsAffected=1 then
         conDBMSWrite.CommitTrans
      else
         wscript.echo "More than 1 row would be affected by this SQL command. Halting."
         wscript.echo strMSWrite
         conDBMSWrite.RollbackTrans
      end if
      conDBMSWrite.close
      conDBOracleRead.movenext
   ' - wend loop - read Oracle table data
   wend
   conDBOracleRead.close
   wscript.echo " (" & intNumRecords & " records copied)"
   set conDBMSWrite=nothing
   set conDBOracleRead=nothing
end sub

' - data types (aryDataTypes):
' - 1: convert from Oracle number to MS integer
' - 2: convert from Oracle number to MS float
' - 3: convert from Oracle varchar2 to MS varchar (or text)
' - 4: convert from Oracle clob to MS text
' - 5: convert from Oracle date to MS datetime
' - 6: convert from Oracle number to MS bit
' - 7: convert from Oracle clob to MS varchar (or text)
' - Oracle key datatypes (intOracleKeyDatatype):
' - 1: number
' - 2: varchar2
' - CopyData(strOracleTablename, strOracleKeyColumnname, intOracleKeyDatatype, aryOracleColumnNames, strOracleConnectionReadString, strMSTablename, aryMSColumnNames, aryDatatypes, strMSConnectionWriteString)

' - copy Scholarship_Formdata
aryOracleColumnNames=array("ACT_MATH", "ACT_READING", "ACT_TOTAL", "ACT_VERBAL", "ADDITIONAL_INFO", "ADDRESS1", "ADDRESS2", "CITY", "CAREER1", "CAREER2", "CAREER3", "CLASSIFICATION", "COUNTRY", "ENROLLED_GPA", "EMAIL_ADDRESS", "ETHNICITY", "FALL2003CLASSIFICATION", "FIRST_NAME", "FOUR_YEAR_COLLEGE", "FOUR_YEAR_GRAD_YEAR", "FOUR_YEAR_LOCATION", "FRESH_GPA", "FRESH_GPA_SCALE", "FRESH_RANK", "GENDER", "GMAT_PERCENT", "GMAT_VERBAL", "GMAT_QUAN", "GRAD_COLLEGE", "GRAD_DEGREE", "GRAD_GPA", "GRAD_YEAR", "GRE_ANA", "GRE_PERCENT", "GRE_VERBAL", "GRE_QUAN", "HIGH_GRAD_YEAR", "HIGH_LOCATION", "HIGH_NAME", "HONOR1", "HONOR2", "HONOR3", "HONOR4", "HONOR_ORG1", "HONOR_ORG2", "HONOR_ORG3", "HONOR_ORG4", "HONOR_YEAR1", "HONOR_YEAR2", "HONOR_YEAR3", "HONOR_YEAR4", "HOSP_HS_COURSE", "LAST_NAME", "MIDDLE_NAME", "NON_CITZ_COUNTRY", "ORG1", "ORG2", "ORG3", "ORG4", "ORG_POS1", "ORG_POS2", "ORG_POS3", "ORG_POS4", "ORG_TYPE1", "ORG_TYPE2", "ORG_TYPE3", "ORG_TYPE4", "OTHER_GRAD_YEAR", "OTHER_LOCATION", "OTHER_SCHOOL", "PARENTS_WORK_HILTON", "PHONE", "PREFIX", "RESIDENT_STATE", "SAT_MATH", "SAT_TOTAL", "SAT_VERBAL", "STATE", "TRANSFER_GPA", "TRANSFER_SCHOOL", "TWO_YEAR_COLLEGE", "TWO_YEAR_GRAD_YEAR", "TWO_YEAR_LOCATION", "WORK_CO1", "WORK_CO2", "WORK_CO3", "WORK_CO4", "WORK_LEN1", "WORK_LEN2", "WORK_LEN3", "WORK_LEN4", "WORK_POS1", "WORK_POS2", "WORK_POS3", "WORK_POS4", "WORK_TYPE1", "WORK_TYPE2", "WORK_TYPE3", "WORK_TYPE4", "US_CITIZEN", "ZIPCODE", "CURRENT_DATE", "ORGANIZATIONEXPERIENCEVALUE", "WORKEXPERIENCEVALUE", "ACADEMICACHIEVEMENTVALUE", "TOTALRANKINGVALUE", "ID", "ACTIVE", "ORGANIZATIONEXPERIENCEWEIGHT", "WORKEXPERIENCEWEIGHT", "ACADEMICACHIEVEMENTWEIGHT", "TOTALRANKINGWEIGHT")
aryMSColumnNames=array("ACT_MATH", "ACT_READING", "ACT_TOTAL", "ACT_VERBAL", "ADDITIONAL_INFO", "ADDRESS1", "ADDRESS2", "CITY", "CAREER1", "CAREER2", "CAREER3", "CLASSIFICATION", "COUNTRY", "ENROLLED_GPA", "EMAIL_ADDRESS", "ETHNICITY", "FALL2003CLASSIFICATION", "FIRST_NAME", "FOUR_YEAR_COLLEGE", "FOUR_YEAR_GRAD_YEAR", "FOUR_YEAR_LOCATION", "FRESH_GPA", "FRESH_GPA_SCALE", "FRESH_RANK", "GENDER", "GMAT_PERCENT", "GMAT_VERBAL", "GMAT_QUAN", "GRAD_COLLEGE", "GRAD_DEGREE", "GRAD_GPA", "GRAD_YEAR", "GRE_ANA", "GRE_PERCENT", "GRE_VERBAL", "GRE_QUAN", "HIGH_GRAD_YEAR", "HIGH_LOCATION", "HIGH_NAME", "HONOR1", "HONOR2", "HONOR3", "HONOR4", "HONOR_ORG1", "HONOR_ORG2", "HONOR_ORG3", "HONOR_ORG4", "HONOR_YEAR1", "HONOR_YEAR2", "HONOR_YEAR3", "HONOR_YEAR4", "HOSP_HS_COURSE", "LAST_NAME", "MIDDLE_NAME", "NON_CITZ_COUNTRY", "ORG1", "ORG2", "ORG3", "ORG4", "ORG_POS1", "ORG_POS2", "ORG_POS3", "ORG_POS4", "ORG_TYPE1", "ORG_TYPE2", "ORG_TYPE3", "ORG_TYPE4", "OTHER_GRAD_YEAR", "OTHER_LOCATION", "OTHER_SCHOOL", "PARENTS_WORK_HILTON", "PHONE", "PREFIX", "RESIDENT_STATE", "SAT_MATH", "SAT_TOTAL", "SAT_VERBAL", "STATE", "TRANSFER_GPA", "TRANSFER_SCHOOL", "TWO_YEAR_COLLEGE", "TWO_YEAR_GRAD_YEAR", "TWO_YEAR_LOCATION", "WORK_CO1", "WORK_CO2", "WORK_CO3", "WORK_CO4", "WORK_LEN1", "WORK_LEN2", "WORK_LEN3", "WORK_LEN4", "WORK_POS1", "WORK_POS2", "WORK_POS3", "WORK_POS4", "WORK_TYPE1", "WORK_TYPE2", "WORK_TYPE3", "WORK_TYPE4", "US_CITIZEN", "ZIPCODE", "[CURRENT_DATE]", "ORGANIZATIONEXPERIENCEVALUE", "WORKEXPERIENCEVALUE", "ACADEMICACHIEVEMENTVALUE", "TOTALRANKINGVALUE", "ID", "ACTIVE", "ORGANIZATIONEXPERIENCEWEIGHT", "WORKEXPERIENCEWEIGHT", "ACADEMICACHIEVEMENTWEIGHT", "TOTALRANKINGWEIGHT")
aryDataTypes=array(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 2, 2, 2, 2, 1, 6, 2, 2, 2, 2)
' - CopyData(strOracleTablename, strOracleKeyColumnname, intOracleKeyDatatype, aryOracleColumnNames, strOracleConnectionReadString, strMSTablename, aryMSColumnNames, aryDatatypes, strMSConnectionWriteString)
call CopyData("scholarship_formdata", "ID", 1, aryOracleColumnNames, hashConnectionStrings("ORAScholarshipFormdataRead"), "scholarship_formdata", aryMSColumnNames, aryDataTypes, hashConnectionStrings("ScholarshipFormdataWrite"))

' - copy Employees
aryOracleColumnNames=array("employeeid", "username", "biographical", "birthdate", "active", "education", "experience", "publications", "specialization", "courses", "certificationsandawards", "other", "lastname", "firstname", "middlename", "faculty", "staff", "management", "webpicture", "email", "personalurl", "homephone", "workphone", "workfax", "officeroomnumber", "universityname", "collegename", "collegestreetaddress", "collegecity", "collegestate", "collegezip", "title", "department", "dean", "associatedean", "jacknumber")
aryMSColumnNames=array("employeeid", "username", "biographical", "birthdate", "active", "education", "experience", "publications", "specialization", "courses", "certificationsandawards", "other", "lastname", "firstname", "middlename", "faculty", "staff", "management", "webpicture", "email", "personalurl", "homephone", "workphone", "workfax", "officeroomnumber", "universityname", "collegename", "collegestreetaddress", "collegecity", "collegestate", "collegezip", "title", "department", "dean", "associatedean", "jacknumber")
aryDataTypes=array(1, 3, 4, 5, 6, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 3)
'call CopyData("directory_employees", "employeeid", 1, aryOracleColumnNames, hashConnectionStrings("DirectoryEmployeesRead"), "Employees", aryMSColumnNames, aryDataTypes, hashConnectionStrings("EmployeesWrite"))

' - copy Webtree
aryOracleColumnNames=array("Pageid", "ParentID", "LayoutType", "ContentType", "LinkTypeBitField", "ContentTitle", "ContentCaption", "Content", "Active", "ActivationDate", "ExpirationDate", "EventDate", "EventContactName", "EventContactEmail", "DateCreated", "DateUpdated")
aryMSColumnNames=array("Pageid", "ParentID", "LayoutType", "ContentType", "LinkTypeBitField", "ContentTitle", "ContentCaption", "Content", "Active", "ActivationDate", "ExpirationDate", "EventDate", "EventContactName", "EventContactEmail", "DateCreated", "DateUpdated")
aryDataTypes=array(1, 1, 1, 1, 1, 3, 3, 4, 6, 5, 5, 5, 3, 3, 5, 5)
'call CopyData("hrmweb_webtree", "PageID", 1, aryOracleColumnNames, hashConnectionStrings("HRMWebWebtreeRead"), "webtree", aryMSColumnNames, aryDataTypes, hashConnectionStrings("WebtreeWrite"))

' - copy CommonStuff
aryOracleColumnNames=array("Title", "Content")
aryMSColumnNames=array("Title", "Content")
aryDataTypes=array(3, 4)
'call CopyData("common_stuff", "Title", 2, aryOracleColumnNames, hashConnectionStrings("CommonStuffRead"), "common", aryMSColumnNames, aryDataTypes, hashConnectionStrings("CommonWrite"))

' - copy RelatedLinks
aryOracleColumnNames=array("PageID", "Active", "ActivationDate", "ExpirationDate", "ContentType", "Content", "RelatedLinkID", "SortOrder")
aryMSColumnNames=array("PageID", "Active", "ActivationDate", "ExpirationDate", "ContentType", "Content", "RelatedLinkID", "SortOrder")
aryDataTypes=array(1, 6, 5, 5, 1, 4, 1, 1)
'call CopyData("hrmweb_relatedlinks", "RelatedLinkID", 1, aryOracleColumnNames, hashConnectionStrings("HRMWebRelatedlinksRead"), "RelatedLinks", aryMSColumnNames, aryDataTypes, hashConnectionStrings("RelatedlinksWrite"))

' - copy AlumniPictureCategories
aryOracleColumnNames=array("CategoryID", "Title")
aryMSColumnNames=array("CategoryID", "Title")
aryDataTypes=array(1, 3)
'call CopyData("alumni_picturecategories", "", 0, aryOracleColumnNames, hashConnectionStrings("AlumniPicturecategoriesRead"), "AlumniPictureCategories", aryMSColumnNames, aryDataTypes, hashConnectionStrings("MSAlumniPicturecategoriesWrite"))

' - copy AlumniPictures
aryOracleColumnNames=array("PictureID", "CategoryID", "Active", "ThumbnailFile", "ImageFile", "Caption")
aryMSColumnNames=array("PictureID", "CategoryID", "Active", "ThumbnailFile", "ImageFile", "Caption")
aryDataTypes=array(1, 1, 6, 3, 3, 3)
'call CopyData("alumni_pictures", "PictureID", 1, aryOracleColumnNames, hashConnectionStrings("AlumniPicturesRead"), "AlumniPictures", aryMSColumnNames, aryDataTypes, hashConnectionStrings("MSAlumniPicturesWrite"))

' - copy Countries
aryOracleColumnNames=array("SortOrder", "CountryName", "CountryCode")
aryMSColumnNames=array("SortOrder", "CountryName", "CountryCode")
aryDataTypes=array(1, 3, 3)
'call CopyData("common_countries", "", 0, aryOracleColumnNames, hashConnectionStrings("CommonCountriesRead"), "Countries", aryMSColumnNames, aryDataTypes, hashConnectionStrings("CountriesWrite"))

' - copy US States
aryOracleColumnNames=array("Abbreviation", "Statename")
aryMSColumnNames=array("Abbreviation", "Statename")
aryDataTypes=array(3, 3)
'call CopyData("common_usstates", "", 0, aryOracleColumnNames, hashConnectionStrings("CommonUSStatesRead"), "USStates", aryMSColumnNames, aryDataTypes, hashConnectionStrings("USStatesWrite"))

' - copy Businesses
aryOracleColumnNames=array("CompanyName", "PrimePhone", "SecondaryPhone", "Fax", "ContactName", "Active", "Email")
aryMSColumnNames=array("CompanyName", "PrimaryPhone", "SecondaryPhone", "Fax", "ContactName", "Active", "Email")
aryDataTypes=array(3, 3, 3, 3, 3, 6, 3)
'call CopyData("directory_businesses", "", 0, aryOracleColumnNames, hashConnectionStrings("DirectoryBusinessRead"), "Businesses", aryMSColumnNames, aryDataTypes, hashConnectionStrings("BusinessesWrite"))

' - copy Student Organizations
aryOracleColumnNames=array("OrganizationID", "OrganizationName", "Active", "PhoneNumber", "RoomNumber", "FacultyAdvisor", "OrganizationPresident", "Email")
aryMSColumnNames=array("OrganizationID", "OrganizationName", "Active", "PhoneNumber", "RoomNumber", "FacultyAdvisor", "OrganizationPresident", "Email")
aryDataTypes=array(1, 3, 6, 3, 3, 3, 3, 3)
'call CopyData("directory_studentorganizations", "OrganizationID", 1, aryOracleColumnNames, hashConnectionStrings("DirectoryStudentorganizationsRead"), "StudentOrganizations", aryMSColumnNames, aryDataTypes, hashConnectionStrings("StudentorganizationsWrite"))

' - copy Library periodicals
aryOracleColumnNames=array("PeriodicalID", "PeriodicalTitle", "Location", "StartDate", "FinishDate")
aryMSColumnNames=array("PeriodicalID", "PeriodicalTitle", "Location", "StartDate", "FinishDate")
aryDataTypes=array(1, 3, 3, 3, 3)
' - CopyData(strOracleTablename, strOracleKeyColumnname, intOracleKeyDatatype, aryOracleColumnNames, strOracleConnectionReadString, strMSTablename, aryMSColumnNames, aryDatatypes, strMSConnectionWriteString)
'call CopyData("x_library_periodicals", "PeriodicalID", 1, aryOracleColumnNames, hashConnectionStrings("OraLibraryPeriodicalsRead"), "LibraryPeriodicals", aryMSColumnNames, aryDataTypes, hashConnectionStrings("LibraryPeriodicalsWrite"))

' - Done!
set rexObj=nothing
set objFSO=nothing
set hashConnectionStrings=nothing
set conDBOracleRead=nothing