Toon posts:

[MS SQL] Db aanmaken vanuit C++ of VBScript

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor het maken van een odbc dsn heb ik in VBScript:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim oWshShell
Const cRegKey1 = "HKCU\Software\ODBC\ODBC.INI\Test MS SQL\"
Const cRegKey2 = "HKCU\Software\ODBC\ODBC.INI\ODBC Data Sources\"

Set oWshShell = CreateObject ("WScript.Shell")

oWshShell.RegWrite cRegKey1 & "Driver","C:\WINDOWS\System32\sqlsrv32.dll"
oWshShell.RegWrite cRegKey1 & "Server","(local)"
oWshShell.RegWrite cRegKey1 & "Database","whatever"
oWshShell.RegWrite cRegKey1 & "Trusted_Connection","Yes"

oWshShell.RegWrite cRegKey2 & "Test MS SQL","SQL Server"

set oWshShell = Nothing

en dit werkt prima overigens

maar nu wil ik dus een db toevoegen in MS SQL Server aan de hand van een bestaande backup (een .bak dump). Dus hoe zou ik vanuit bijv. C++ of VBScript nu een db kunnen aanmaken ?

de query die zoiets doet is ongeveer:
code:
1
USE master RESTORE DATABASE whatever FROM DISK = 'testing1.bak'

maar met een odbc entry die niet naar een bestaande db wijst, weet ik dus niet hoe ik dit commando naar de sql server kan sturen.

Alvast bedankt !

Verwijderd

Topicstarter
heb het nu ff zo opgelost:
code:
1
2
3
4
5
6
Dim oWshShell
Set oWshShell = CreateObject ("WScript.Shell")

oWshShell.run("osql -E -Q ""USE master RESTORE DATABASE whatever FROM DISK = 'c:\whatever.bak';""")

set oWshShell = Nothing


maar dan moet het pad naar de backup dus absoluut (dus niet relatief) meegegeven worden...
en de naam van de db staat blijkbaar hard in backup file... als iemand toevallig weet hoe ik die backup toch in een andere database zou kunnen dwingen...

  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Je zou vanuit de script een instantie van de SQL Server API kunnen aanroepen. Daar heb je veel meer mogelijkheden om databases te manipuleren. SQL8DOM.DLL of zo iets.

P.S. Wat moet JavaRules met VB :? ;)

[ Voor 11% gewijzigd door PhysicsRules op 30-11-2006 11:41 ]


Verwijderd

Topicstarter
ah ok, ik zal eens kijken ;)

tja, vanuit Java valt dit helaas weer niet te realiseren he :/
(ok, die osql oplossing dan weer wel, maar goed die is toch al niet al te netjes...)

  • StevenK
  • Registratie: Februari 2001
  • Nu online
Verwijderd schreef op donderdag 30 november 2006 @ 11:09:
maar met een odbc entry die niet naar een bestaande db wijst, weet ik dus niet hoe ik dit commando naar de sql server kan sturen.
Dan pak je toch de system database ?

Was advocaat maar vindt het juridische nog steeds leuk