23. april 2006 - 11:52Der er
4 kommentarer og 1 løsning
SQL server på host
Mit spørgsmål er følgende: Jeg har lavet en asp.net 2.0 web app der kontakter en mssql database. Lokalt fungere det fint.
Nu skal jeg så have flyttet det over på mit webhotel hotellet understøtter asp.net 2.0 og ms sql.
nu er spørgsmålet hvordan flytter jeg korrekt web applicationen over. Jeg har lavet en folder i httpdocs ved navn gastebog heri har jeg placeret min.mdf
jeg har lavet et web dir der peger på gastebog folderen, ved navn GBDB
jeg har på gastebog folderen sat read/write til tilladt. DB bn og kode er bent og 98765
Nu er mit spørgsmål: Hvordan skal min connectionstring udformes i praktis? Jeg har lavet det, så man kan ændre den i web.config filen.
Hvis jeg har glemt nogle ting så nævn dem venligst. Jeg har prøvet mange forskellige udformninger af strengen, men intet lykkedes.
Først og fremmest skal du jo have oprettet databasen. Du siger at du har flyttet .mdf filen, og det er mig bekendt ikke nok. Med mindre det er en service dit webhotel giver, men så skulle logfilen vel også med?
Hmm, jeg gik ud fra at den selv generede logfilen. Det gør den med normal access mdb men sådanne er det måske ikke i dette tilfælde. Ja ok glemte at skrive at jeg selvfølgelig har lavet en database inde i Plesk hvor jeg har angivet en bruger. Derudover en ODBC connection men her er jeg lidt i tvivl om jeg har gjort det korrekt. Jeg har valgt MSSQL og skrevet bn og pw. Derudover har jeg i kilde til ODBC skrevet navnet på det jeg har kaldt databasen.
Hmm i normalt access plejede jeg at angive en fuld sti til filen. Skal jeg ikke det mere et sted, når jeg arbejde med MSSQL? og hvis ja, hvorså?
Du skal ikke angive en sti, men en IP-nr. eller et domænenavn.
Men som med Access, hvis du på serveren oprettet en ODBC-forbindelse som du vil bruge, skal du skrive hvilken ODBC det er, og det ser forskelligt ud afhængig af om det er en fil- eller system DNS du har lavet
At flytte databasen kan ske på forskellige måder:
- Du opretter databasen manuelt - Dit webhotel har en løsning, som jeg så ikke kender noget til - Du genererer udfra din lokale database et create script, der køres på webhotellet. Dette script opretter databasen og alle tabeller, men databasen er derefter tom, ingen data kommer med. - Du benytter Import/Export Data kommandoen i Enterprise manager. Først opretter du databasen tom, og med Import/Export Data kan du overføre både tabeller og data og alt muligt andet. Denne teknologi er det der hedder DTS, eller Data Transformation Services - Du laver en komplet backup af din database, som du sender til webhotellet. De kan, eller du kan evt. selv, restore'e denne backup på webhotellet. - Du sender både data og logfil til webhotellet, der via Attach Database kommandoen får den til at køre. Dette kræver nogen tilretning i forhold til hvor filerne skal ligge, og ligner meget den med backup'en. Fordelen ved backup er at det kan man lave på en database der er online.
Har du Enterprise Manager? Kan du kontakte webhotellets mssql via din Enterprise Manager? Har du query analyzer.
Hej, nu har jeg fået det til at køre. Jeg var blevet vendet til access, hvor man bare kan angive en fil. Du har ret. Jeg skulle angive min host og min database navn. Nå men min løsning blev, at jeg oprettede en database i plesk hvor jeg angav et brugernavn og password. Så lavede jeg en odbc hvor jeg connctede til den netop oprettede db. Denne database er nu en tom database, som jeg så skulle have fyldt op.
Dette gjorte jeg ved at bruge visual studio 2005, med denne kunne jeg connecte til den netop oprettede db, med det brugernavn og password jeg har oprret. Nu kunne jeg så i VS oprette de tabbeller jeg havde brug for. Jeg kunne se at det også var muligt indlæse script som man fx har genereret fra lokale tabeller, men tak for feedbacken... kan se du gav et ok svar. Selvom du ikke ramte plet, får du pointene. Smid et svar, så får du point :-)
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.