Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:18 Der er 13 kommentarer og
2 løsninger

Afvikle VB script

Hej, jeg kan se i Enterprise Manageren at det er muligt at afvikle et VB script på SQL serveren, f.eks. hver uge osv under jobs... MEN, jeg er en del i tvivl om hvordan man helt gør med koden.

Jeg har nu oprettet mig som en operator og SQL Agent serveren kører og kan oprette jobs, men hvordan snakker med med SQL serveren i koden. Jeg har det som ASP kode, men den går vist ikke helt?

Eksempel:

Dim DSN
Set Con = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER=SQL Server; SERVER=servernavn; UID=sa; PWD=test; DATABASE=test;"
Con.Open DSN

Call Test()

Sub Test
   
    Navnet = "Legepladsen"

    SQL = "INSERT INTO TestTabel (Navn) VALUES('" & Navnet & "')"
    Con.Execute(SQL)

End Sub

Set Con = Nothing
Set DNS = Nothing
Avatar billede slash Nybegynder
02. juni 2003 - 11:22 #1
kan du ikke bare lægge koden i en .vbs fil og lave køre filen via SP'en xp_cmdshell
Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:25 #2
Jo, vil gerne prøve... hvordan executer jeg filen igennem det? Kan se muligheden er der, men hvordan kalder jeg filen så.
Avatar billede slash Nybegynder
02. juni 2003 - 11:28 #3
fra query analyzeren fx:
xp_cmdshell 'cscript c:\minfil.vbs', no_output

måske du skal inkludere den fulde sti til cscript / wscript
Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:32 #4
Når den siger "The job failed, the job was invoked by User sa"

Så er det fordi?
Avatar billede slash Nybegynder
02. juni 2003 - 11:35 #5
ja - til det ? er der en række svar.

Jeg vil anbefale du tester dit script i Query analyzeren som det 1. og ser om det virker - husk xp_cmdshell ligger i master databasen, så når du anvender SP'em så skal du skrive master.dbo.xp_cmdshell 'bla., bla.'

Ligger DB'en hos en udbyder kan der være noget permissionsbøvl - det kan der oxo være hvis du selv hoster SQL'en....
Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:36 #6
Jeg har serveren stående lokalt, prøver lige at teste lidt på det
Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:50 #7
hmm, ved ikke - i Query analyzeren kan man jo ikke som i VB have en masse connection strings osv med, men når man vælger et VB script kan den godt parse det uden problemer og SQL sætningen kan køres i Query analyzeren. Altså kan den godt køre den INSERT.
Avatar billede slash Nybegynder
02. juni 2003 - 11:51 #8
nix - men du kan vel lægge koden i en .vbs fil...
Avatar billede maxikoll Nybegynder
02. juni 2003 - 11:59 #9
c:\inetpub\wwwroot\KK_Import\import.vbs(2, 1) Microsoft VBScript runtime error: Object required: 'Server'

Altså brokker den sig over connection til serveren, men hvordan skal den ellers snakke med den ude fra? Jeg er ikke VB ekspert :/
Avatar billede maxikoll Nybegynder
02. juni 2003 - 12:00 #10
xp_cmdshell 'cscript c:\inetpub\wwwroot\KK_Import\import.vbs'

virkede ellers efter lidt oprydning i koden, men stadigt det med invoked på User sa
Avatar billede slash Nybegynder
02. juni 2003 - 12:03 #11
du bruger sikkert server.createobject("adodb.connection") - prøv uden server, atså createobject("adodb.connection")
Avatar billede zapzap Nybegynder
02. juni 2003 - 12:03 #12
Når du laver en xp_cmdshell så startes der en 'kommando-prompt', helt udenfor SQL Server; dvs. du har ingenting med dig (udover at du i environment kan læse hvem xp_cmdshell kører som). Dvs. alle dine connection strings virker stadig.
'The job failed' kommer nok fra SQL Server Agent, og det tyder lidt på rettigheds-problemer som slash er inde på. Hvilken bruger kører du scriptet som? Der er forskel på om det er i Query Analyzer eller som job. Og hvem du 'bliver' afhænger af, hvilket OS du kører. Se remarks i xp_cmdshell i books online.
Avatar billede maxikoll Nybegynder
02. juni 2003 - 12:25 #13
Fjerne server gjorde det.

Det med rettigheder må jeg lige grave i for det synes jeg kager lidt rundt, kan ikke engang finde ud af at oprette en ny og tildele, så brokker den sig over det allerede findes selv om der kun er "sa" tilbage :)

zapzap, du vil ikke have lidt point for din hjælp også?
Avatar billede zapzap Nybegynder
02. juni 2003 - 12:54 #14
Jo
Avatar billede maxikoll Nybegynder
02. juni 2003 - 13:26 #15
Håber de er fint fordelt, nu skal jeg slås med de rettigheder :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester