<connectionStrings>
<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated
Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User
Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
Denne må modifiseres for å funke på
webhotell, siden database har annen plassering.
Connectionstring i web.config
på webhotell:
<
connectionStrings>
<
remove
name="LocalSqlServer"/>
<
add
name="LocalSqlServer"
connectionString="Data
Source=buddy.onnet.no; Initial Catalog=fiskaren_no_login;user
id=fiskaren_no_hans;password=snah;"
providerName="System.Data.SqlClient"/>
</
connectionStrings>
-------------------------------------------------------------------------------------------------------------------
3) Bygg opp ny database.
Dette er kanskje den største
bøygen. Man kan ikke bare kopiere over database, den må bygges
opp på nytt.
Dette gjøres ved å først
a) Lage en .sql fil av
aspnet.mdf
b) Kopiere .sqlfil til
webserver
c) Lag en tom database på server i
Hosting Controler
d) Lag en .aspx som kjører
scriptet som bygger opp ny database. Denne filen kalles
RunSQL.aspx
--------------------------------------
a) Lag sql-fil av aspnet.mdf:
Der finnes verktøy i
SQLExpress som gjør jobben, i SQLManagment
studio som er en del av SQLExpress.
Start opp SQLManagement
Studio på lokalmaskin og gå til 'Object Explorer'
Expander databasene. Om ikke
aspnet.mdf finnes må den til knyttes. Høyreklikk på 'Databases'
og trykk på 'Attach'. I viduet 'Attach Databases', trykk på
'Add'. Finn frem aspnet.mdf og trykk ok.
Ved å høyreklikk på Databases
i Object Explorer og trykk på 'Refresh' vil tilknyttingen til
aspnet.mdf vises.
Høyreklikk på denne
tilkoblingen og gå til 'Tasks..', videre 'Generate Scripts. Finn
den tilknyttede filen. Aktiver haken 'Script all objects in the
selected database'.
Deretter 'Next'.
Neste vindu heter : Choose
Script Options' . Scroll i vinduet. Under 'Table/View Options'
aktiver 'Script Data' til True. Da følger passord og brukernavn
fra database med.
Trykk Next.
I Output Options velg 'Script
to file' og velg hvor scriptfil skal lagres.og gi den navn feks:
ScriptFil.sql
Trykk Finish. Nå blir scriptfilen
bygget opp og lagret på din lokale maskin.
b) Åpn opp ScriptFil.sql i Visual
studio. Øverste linje skal rettes til 'USE [fiskaren_no_login]'
(Velg navnet på database som skal innholde passordsystemet)
Kopier ScriptFil.sql over til roten på
fiskaren.no.
c) Logg inn i Hosting Controller. I
Toolbox / Databasemanager, lag en ny tom database som heter
'fisekaren_no_login', Brukernavn 'fiskaren_no_hans', Passord
'snah'
d) Lage en .aspx fil som starter
script.
Via Visual studio logger du inn på
'fiskaren.no', sjekk at ScriptFil.sql ligger i roten.
Lag en ny webside, slett absolutt ALT
innhold i denne, og kall den RunSQL.aspx
Lim inn innholdet under stiplede
linjer. Skift innholdet i 'String fileURL=' og 'String
Connection='.
Lagr filen og kjør den i webleser.
Nå skal databasen være bygget opp på
nytt, og brukernavn fra aspnet.mdf er overført.
-------------------------------------------------------------------------------------------------------------------------------------------
<%
// Sample code for
executing a T-SQL file using an ASP.NET page
// Copyright (C)
Microsoft Corporation, 2007. All rights reserved.
// Written as a sample
with use in conjuction with the SQL Server Database Publishing
Wizard
// For more information
visit http://www.codeplex.com/sqlhost/
//
**************************************************************************
// Note: Please ensure
that you delete this page once your database has been published
to the remote server
//
**************************************************************************
%>
<%
@
Page
Language="C#"
AutoEventWireup="true"
%>
<%
@
Import
Namespace="System.Data"
%>
<%
@
Import
Namespace="System.Data.SqlClient"
%>
<%
@
Import
Namespace="System.IO"
%>
<%
@
Import
Namespace="System.Net"
%>
<%
//
**************************************************************************
// Update these
variables here
//
**************************************************************************
// Url of the T-SQL
file you want to run, Server.MapPath("NSFLogin.SQL");
string
fileUrl = Server.MapPath("ScriptFil.SQL");
// Connection string to
the server you want to execute against
//
@"Server=server123;User ID=user123;Password=password123;Initial
Catalog=MyDBName123
string
connectionString = "Data
Source=buddy.onnet.no;Initial Catalog=fiskaren_no_logIn;Persist
Security Info=True;User ID=fiskaren_no_hans;Password=snah";
// Timeout of batches
(in seconds)
int
timeout = 600;
%>
<!
DOCTYPE
html
PUBLIC
"-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns="http://www.w3.org/1999/xhtml"
>
<
head
runat="server">
<title>Executing
T-SQL</title>
</
head>
<
body>
<form
id="form1"
runat="server">
<div>
</div>
</form>
<%
SqlConnection
conn = null;
try
{
this.Response.Write(String.Format("Opening
url {0}<BR>", fileUrl));
// read file
WebRequest
request = WebRequest.Create(fileUrl);
using
(StreamReader
sr = new
StreamReader(request.GetResponse().GetResponseStream()))
{
this.Response.Write("Connecting
to SQL Server database...<BR>");
// Create new
connection to database
conn =
new
SqlConnection(connectionString);
conn.Open();
while
(!sr.EndOfStream)
{
StringBuilder
sb = new
StringBuilder();
SqlCommand
cmd = conn.CreateCommand();
while
(!sr.EndOfStream)
{
string
s = sr.ReadLine();
if
(s != null
&& s.ToUpper().Trim().Equals("GO"))
{
break;
}
sb.AppendLine(s);
}
// Execute T-SQL
against the target database
cmd.CommandText = sb.ToString();
cmd.CommandTimeout = timeout;
cmd.ExecuteNonQuery();
}
}
this.Response.Write("T-SQL
file executed successfully");
}
catch
(Exception
ex)
{
this.Response.Write(String.Format("An
error occured: {0}", ex.ToString()));
}
finally
{
// Close out the
connection
//
if
(conn != null)
{
try
{
conn.Close();
conn.Dispose();
}
catch
(Exception
e)
{
this.Response.Write(String.Format(@"Could
not close the connection. Error was {0}",
e.ToString()));
}
}
}
%>
</
body>
</
html>
----------------------------------------------------------------------------------------------------------------------------------------------------------