Jump to content
Compatible Support Forums
Sign in to follow this  
DS3Circuit

Populate SQL 2000 Database through a VBS Script

Recommended Posts

I am buried under a multi site / multi version MS office migration to 2003 that has taken up much of my time.

 

Without the need of 3rd party products, my superiors wish to track the migration dynamically.

 

History:

 

1000+ users

Windows 2000 SP4

Active Directory DFS / GPO Software Deployment.

 

What I would like is to run a vbs login script that pulls exe version numbers, populates a SQL 2000 database, and then an ASP page pulls the data accordingly. I am stuck at how a VBS script would populate a SQL 2000 database.

 

If anyone has some URLs and/or examples. You would certainly be making my life easier.

 

If you need more information then what I have provided, fire away.

 

Thanks as always.

 

Edit: Alex, I hope you have run into this smile

Share this post


Link to post

I'll show my "ruff" vbs code here to get the info I am looking for. Thanks for the delphi examples. Looking at their logic always helps. Now I just need to figure out the code to populate a sql 2000 db. I have created a microsoft data link file (udl) file but this is where I get stuck.

 

Thank you so much for the help so far

 

********************

********************

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim RunSQL

 

WScript.Echo "Version of Office installed (0 equals none): " & GetOfficeVer()

 

If GetOfficeVer = "2003" Then

Wscript.Echo "Version of Outlook: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE11\outlook.exe")

Wscript.Echo "Version of Excel: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE11\excel.exe")

Wscript.Echo "Version of Word: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE11\winword.exe")

Wscript.Echo "Version of PowerPoint: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE11\powerpnt.exe")

End If

 

If GetOfficeVer = "2000" Then

Wscript.Echo "Version of Outlook: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE\outlook.exe")

Wscript.Echo "Version of Excel: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE\excel.exe")

Wscript.Echo "Version of Word: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE\winword.exe")

Wscript.Echo "Version of PowerPoint: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE\powerpnt.exe")

End If

 

If objFSO.FileExists("C:\Program Files\Microsoft Office\OFFICE\frontpg.exe") Then

Wscript.Echo "Version of Frontpage: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE\frontpg.exe")

Else

Wscript.Echo "Frontpage 2000 Not Installed."

End If

 

If objFSO.FileExists("C:\Program Files\Microsoft Office\OFFICE11\frontpg.exe") Then

Wscript.Echo "Version of Frontpage: " & objFSO.GetFileVersion("C:\Program Files\Microsoft Office\OFFICE11\frontpg.exe")

Else

Wscript.Echo "Frontpage 2000 Not Installed."

End If

 

If RunSQL = 1 then

RunSQLInstance

End if

 

 

' SQL 2000 Database Var Setup

 

 

Function RunSQLInstance

'Set con=createobject("adodb.connection")

'con.open "file name=dbconnect.udl"

'set cmd=createobject("adodb.command")

'cmd.ActiveConnection=con

'cmd.Commandtype=1

'End Function

 

Dim SQLConnection

Dim SQLCommand

 

Set SQLConnection = CreateObject("ADODB.Connection")

'SQL Connection String

SQLConnection.Open "Driver={SQL Server};server=(SQLSERVER.MYSITE.edu);database=Office;uid=sa;pwd=anything;"

 

 

 

 

Function GetOfficeVer()

 

RunSQL = 0

 

sRegPre = "HKLM\SOFTWARE\Microsoft\Office\"

sRegPost = "\Common\InstallRoot\"

Select Case True

Case RegKeyExists(sRegPre & "11.0" & sRegPost)

sOfficeVer = "2003"

Case RegKeyExists(sRegPre & "10.0" & sRegPost)

sOfficeVer = "2002"

Case RegKeyExists(sRegPre & "9.0" & sRegPost)

sOfficeVer = "2000"

Case RegKeyExists(sRegPre & "8.0" & sRegPost)

sOfficeVer = "97"

Case Else

sOfficeVer = "0"

End Select

GetOfficeVer = sOfficeVer

End Function

 

Function RegKeyExists(sRegKey)

Set oShell = CreateObject("WScript.Shell")

RegKeyExists = True

sRegKey = Trim (sRegKey)

If Not Right(sRegKey, 1) = "\" Then

sRegKey = sRegKey & "\"

End if

On Error Resume Next

RegReadReturn = oShell.RegRead(sRegKey)

If Err Then

If LCase(Left(err.description,7)) = "invalid" Then

'key not found...

RegKeyExists = False

End if

Err.clear

End if

On Error Goto 0

End Function

EDIT: Damm Smiley Faces :P

[Edited by ds3circuit on 2004-10-21 19:03:25]

 

Share this post


Link to post

Busy is an ...... understatement smile

 

Beautiful set of code. I am gonna go take it into the lab and pull it apart to see what works for us. If you are ever in my area, I owe you a cold one or two smile

 

I'll keep ya posted on the outcome.

 

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×