Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 9 odgovora
  • 3.542 pregleda

Najnovija ↓

Kreiranje baze MSSQL2005 iz klijenta? 27.07.2007. u 16:49 · pre 234 meseca #1
Otvorio sam na .net forumu temu Kreiranje baze sql servera u klijentu (vb), slabo mi ko odgovara. Da li neko zna kako. Prvo sam koristio SQLDMO nije islo bas najbolje, zatim me je lik usmerio i predlozio manager.smo.....! Skroz sam zbunjen...Koristim tutorijale ali primerim ne rade!

Code:
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common


'----------------------------------------------------
'Connect to the local, default instance of SQL Server.
        Dim srv As Server
        srv = New Server
        'Define a Database object variable by supplying the server and the 
        'database name arguments in the constructor.
        Dim db As Database
        db = New Database(srv, "Test_SMO_Database")
        'Create the database on the instance of SQL Server.
        db.Create()
        'Reference the database and display the date when it was created.
        db = srv.Databases("Test_SMO_Database")
        Console.WriteLine(db.CreateDate)
        'Remove the database.
        db.Drop()


Gde odlazi ta datoteka tj. gde se ona fizicki pojavljuje, sta kako...skroz sam zbunjen???
Re: Kreiranje baze MSSQL2005 iz klijenta? 28.07.2007. u 12:07 · pre 234 meseca #2
Izbor SMO se preporuca od strane MS kada radis sa NET platformom.

Primjer koji si kopirao sa MSDN ne radi jer nisi kod formiranja Server naveo naziv tog servera.
Server klasa ima tri konstruktora:

Server();
Server(ServerConnection serverConnection);
Server (string name);


Koristi druga dva konstruktora ili prvi pa mu dodaj poslije ime servera.

Kad formiras bazu podataka na server, prvo je kreiraj, promijeni PrimaryFilePath property, te je attaciraj na server.

Ovo bi trebalo pomoci.
Re: Kreiranje baze MSSQL2005 iz klijenta? 28.07.2007. u 12:22 · pre 234 meseca #3
Hvala za prethodni odgovor! Ako moze jos jedno pitanje...???
Kako da iskoristim prethodno napravljenu bazu i tabele tj. njivove scripte da u clijent apl. napravim bazu sa tabelama . Znaci da se postedim kucanja u smo-u! Ili gotove procedure .
Re: Kreiranje baze MSSQL2005 iz klijenta? 28.07.2007. u 12:27 · pre 234 meseca #4
ovo je cod u C# ali mislim da se mozes snaci

public static bool CopyDataBaseSameServer(string serverName, string sourceDB,string destDB)
{
try
{

{
Server sv = new Server(serverName);
//Source DataBase
Database db=sv.Databases[sourceDB];
//Destination DB
Database DBcopy = new Database(sv, destDB);
DBcopy.Create();

//Transfer

Transfer xfr=new Transfer(db);
xfr.CopyAllTables = true;
xfr.CopyAllViews = true;
xfr.CopyData = true;
xfr.CopyAllObjects = true;
xfr.Options.WithDependencies = true;
xfr.Options.ContinueScriptingOnError = false;
xfr.DestinationDatabase = destDB;
xfr.DestinationServer = sv.Name;
xfr.DropDestinationObjectsFirst = true;


xfr.DestinationLoginSecure = true;
xfr.CopySchema = true;
// xfr.ScriptingProgress += new ProgressReportEventHandler(this.ProgressReport);

StringCollection script=xfr.ScriptTransfer();

DBcopy.ExecuteNonQuery(script);

//xfr.ScriptTransfer();
xfr.TransferData();

}
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
return false;
}
return true;
}

Mislim da bi trebao raditi
Re: Kreiranje baze MSSQL2005 iz klijenta? 28.07.2007. u 12:46 · pre 234 meseca #7
Dobro ok, to je kad je baza na serveru. Na primer nemam bazu ali su mi ostale scripte kao fajlovi, koje su ostale kao posledivca pravljenja baze i tabela, procedura u SQL Ex. Manageru! Kako njih kao ostavstinu tj. fajlove (scripte) da pozovem i iskoristim. Znaci ovo je kopiranje postojece, ako sam dobro razumeo...?
Re: Kreiranje baze MSSQL2005 iz klijenta? 28.07.2007. u 13:11 · pre 234 meseca #9
Da primjer je kopiranje postojece baze na serveru. Na zadnje pitanje bi ti preporucio da:

-formiras bazu na serveru (Praznu) prethodni primjer
-ucitaj skripte u string collection i
- pozovi ExecuteNonQuery ( DBcopy.ExecuteNonQuery(script);)


ili da ako se u skripti nalazi kod za kreiranje baze na server

-formiras objekt klase ServerConnection (kod formiranja ovog objekta moras mu prosljediti string sa konekcijom)
-ucitas skripte sa diska u StringCollection
-pozoves članicu ExecuteNonQuery(StringCollecton sqlCommands) objekta ServerConnection.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme