[ borcha @ 25.07.2007. 01:19 ] @
| Naucio sam kako se pravi u SQL Server manageru ali kako posle utvrdjivanja da datoteka tj baza pod.
ne postoji, napraviti bazu SQL Servera uz pomoc vb2005 i T-SQL-a? Koristim SQlCommand ili sta, na koji nacin kada sad nemam otvorenu konekciju...
Preuzeo sam skripte iz Sql Ser Managera i stavio u proceduru pod sqlCommandom kada ga pokrenem na lokaciju koju sam zadao 'ne' napravi se baza? Hvala u napred! Pozz |
[ spartak @ 25.07.2007. 05:36 ] @
[ borcha @ 25.07.2007. 11:35 ] @
Pa ovo je u c# pisano. Mogu li da primenim to u VB-u? Pzz..
[ fpedja @ 25.07.2007. 11:57 ] @
Naravno da mozes! Imas i konvertore na netu iz c# u vb! Evo ti neki linkovi (nisam siguran da li su tacni, ja sam ih nasao, jednom davno  , na google-u)
http://www.tangiblesoftwaresolutions.com/index.htm
http://www.elegancetech.com
[ BezPanike @ 25.07.2007. 12:07 ] @
[ borcha @ 25.07.2007. 17:20 ] @
Sve sam uradio preko convertovao iz c# u vb kod, ali mi ne ide dimezionisanje. Ne mogu da provalim koji elementi pripadaju cemu tj objekte....?
Trazio sam u biblioteci ali mi ne ide....
Code: Private Sub createDB() 'K
'REIRANJE BAZE PODATAKA
Dim nDatabase As Database
Dim srv As ?
Dim nDBFileData As ?
dim sqldmo as ?
Dim strDatabaseName As String
strDatabaseName = "DNFDAT.dnf"
Try
' Assign a name to database
nDatabase.Name = strDatabaseName
' Assign a name to datafile
nDBFileData.Name = strDatabaseName
nDBFileData.PhysicalName = srv.Registry.SQLDataRoot & "\dnfdat\" & strDatabaseName & "_DNFDAT.mdf"
nDBFileData.PrimaryFile = True
nDBFileData.Size = 2
nDBFileData.FileGrowthType = SQLDMO.SQLDMO_GROWTH_TYPE.SQLDMOGrowth_MB
nDBFileData.FileGrowth = 1
'Add the DBFile object
nDatabase.FileGroups.Item("PRIMARY").DBFiles.Add(nDBFileData)
' Assign name to Log files
nLogFile.Name = strDatabaseName & "Log"
nLogFile.PhysicalName = srv.Registry.SQLDataRoot & "\DATA\" & strDatabaseName & "_Log.ldf"
nLogFile.Size = 2
nDatabase.TransactionLog.LogFiles.Add(nLogFile)
srv.Databases.Add(nDatabase)
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
End Sub
[ vladdy @ 25.07.2007. 17:29 ] @
Code: Dim srv as SQLDMO.SQLServer = new SQLDMO.SQLServerClass
Dim nDBFileData As SQLDMO.DBFile = new SQLDMO.DBFile
"dim sqldmo as ?" ti ne treba, SQLDMO je namespace koji ces dobiti kada kreiras reference prema "Microsoft SQLDMO Object Library".
Nisam provjeravao ali nadam se da je to to.
[ borcha @ 25.07.2007. 17:45 ] @
Hvala, probam...
[ borcha @ 25.07.2007. 17:55 ] @
izvini a
Dim nLogFile As ?
[ vladdy @ 25.07.2007. 18:44 ] @
Code:
Dim nLogFile As new SQLDMO.LogFile()
[ borcha @ 25.07.2007. 23:26 ] @
Jos jedno pitanje...
Ucim iz nekih knjiga gde se neke stvari ne spominju (Naucite za 24 sata) . Kada naidjem na problem ljudi mi pisu o nekim novim stvarima o kojih nema u knjigama u kojima ja ucim. Primer je SQLDMO.dll o kome nemam pojma a potreban mi je za pravljenje nove baze SQL Servera. Gde da nadjem literaturu u kojoj cu naci vise stvari? Hvala
[ spartak @ 26.07.2007. 08:14 ] @
Pazi ta knjiga koju sada citas ocigledno ne valja nista, posto ti pitanja datiraju duze od 48 sati :-)
Baci bre to.
Tip: probaj eMule i slicne stvari.
[ borcha @ 26.07.2007. 12:09 ] @
Nista mi ne ide...
Sta je sve potrebno (postupno) da bih uspesno kreirao datoteku sql servera?
evo koda, ali mislim da on nije jedini, koji je potreban....?
Code: Private Sub createDB()
'Create an SQLDMO application
Dim sqlApp as New SQLDMO.ApplicationClass
' Create an Server, which resembles to your actual server
Dim srv as New SQLDMO.SQLServerClass
' Create Database
Dim nDatabase = New SQLDMO.Database
' Create Data Files
Dim nDBFileData as New SQLDMO.DBFile
'Create Log Files
Dim nLogFile As New SQLDMO.LogFile
Dim strDatabaseName As String
strDatabaseName = "Empl"
Try
' Assign a name to database
nDatabase.Name = strDatabaseName
' Assign a name to datafile
nDBFileData.Name = strDatabaseName
nDBFileData.PhysicalName = srv.Registry.SQLDataRoot & "\Data\" & strDatabaseName & "Data.mdf"
nDBFileData.PrimaryFile = True
nDBFileData.Size = 2
nDBFileData.FileGrowthType = SQLDMO.SQLDMO_GROWTH_TYPE.SQLDMOGrowth_MB
nDBFileData.FileGrowth = 1
'Add the DBFile object
'nDatabase.FileGroups.Item("PRIMARY").Add(nDBFileData)
' Assign name to Log files
nLogFile.Name = strDatabaseName & "_Log"
nLogFile.PhysicalName = srv.Registry.SQLDataRoot & "\Data\" & strDatabaseName & "_Log.ldf"
nLogFile.Size = 2
nDatabase.LogFiles.Add(nLogFile)
srv.Databases.Add(nDatabase)
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
tblEmployees()
End Sub
Posle izvrsavanja (Load_form) izbacuje poruku, SQLDMO This Server Not Conected...!?
Gledao sam tutoriale, ali svi primeri su u C#, nesto razaznam a nesto ne.
Sta je sve potrebno da bi uspesno napravio bazu......
Hvala Pozzz....
[ borcha @ 26.07.2007. 14:53 ] @
Evo jos jednog koda, koji izbacuje gresku (u prilog slika)!!
Code: 'Try
Dim oSqlServer As SQLDMO.SQLServer = New SQLServer
Dim oDatabase = New SQLDMO.Database
Dim oDBFileData As New SQLDMO.DBFile
Dim oLogFile As New SQLDMO.LogFile
' Define the PRIMARY data file.
oDBFileData.Name = "NorthData1"
oDBFileData.PhysicalName = "c:\program files\microsoft sql server\mssql\data\northwnd.mdf"
oDBFileData.PrimaryFile = True
' Specify file growth in chunks of fixed size for all data files.
oDBFileData.FileGrowthType = SQLDMO_GROWTH_TYPE.SQLDMOGrowth_MB
oDBFileData.FileGrowth = 1
oDatabase.FileGroups("PRIMARY").DBFiles.Add(oDBFileData)
' Define the database transaction log.
oLogFile.Name = "NorthLog1"
oLogFile.PhysicalName = "c:\program files\microsoft sql server\mssql\data\northwnd.ldf"
oDatabase.TransactionLog.LogFiles.Add(oLogFile)
' Create the database as defined. Note: Create and connect of SQLServer
' object used is not illustrated in this example.
oSqlServer.Databases.Add(oDatabase)
'tblEmployees()
' Catch ex As Exception
'sageBox.Show(ex.Message)
'Return
'End Try
Ne ide mi !!!
[Ovu poruku je menjao borcha dana 26.07.2007. u 20:30 GMT+1]
[ spartak @ 26.07.2007. 19:06 ] @
A kad stavis breakpoint na tu liniju pa pogledas sa watch, sta ti je tu null. oSqlServer ili ?
Kad pogledam ovako kod, rekao bih da je to. Ne znam VB al bih rekao da ti je zakomentarisana linija gore. Jesi li instancirao negde taj objekat ili je neka staticka klasa?
[ borcha @ 26.07.2007. 19:19 ] @
Da instancirana je na nivou klase, ne vidi se u kodu ali je tu.....dim oSQLServer as new SQLDMO.SQLServer
[ borcha @ 26.07.2007. 19:26 ] @
Code: Dim oSqlServer As SQLDMO.SQLServer = New SQLServer
Dim oDatabase = New SQLDMO.Database
Dim oDBFileData As New SQLDMO.DBFile
Dim oLogFile As New SQLDMO.LogFile
[ borcha @ 26.07.2007. 19:29 ] @
Nova poruka o gresci, sta je to ne znam...??Zna li neko ???
[SQL-DMO]This server object is not connected.
[ _prompt @ 26.07.2007. 20:38 ] @
Ako te ne mrzi da krenes da pises kod od pocetka
moja preporuka je SQL Server Management Objects (SMO)
http://msdn2.microsoft.com/en-us/library/ms162169.aspx
[ borcha @ 26.07.2007. 20:43 ] @
Kakva je razlika?
Daj mi neki primer, kakko koristis taj objekat?
[ _prompt @ 26.07.2007. 22:43 ] @
Sve je u objektima i veoma lako mozes doci do podataka o bazama, tabelama, procedurama...
Ovako otprilike ide kod, pisem iz glave pa ako naidje neki error hvataj ga:)
//prvo ide preko standardne Sql konekcije
SqlConnection sqlConnection = new SqlConnection(tvojConnectionString)
//onda napravis ServerConnection, ovo pripada SMO-u
ServerConnection serverConnection = new ServerConnection(sqlConnection)
//i onda server objekat
Server server = new Server(serverConnection);
//sad mozes opusteno da prodjes kroz baze, nema vise select * from master.dbo.sysdatabases...:)
foreach( Database database in server.Databases )
...
//i napravis bazu
Database database = new Database(server, "ime baze");
database.Create();
mozda ti treba jos neki uslov za pravljenje baze tipa permission-a ali to je u sustini to.
E da, za ovo ti treba .NET 2 i SQL Server client tools(SMO library) to ti je par dll-ova
[ borcha @ 26.07.2007. 23:00 ] @
e, veliko hvala...ceo dan se mucim sa SQLDMO-m !!
[ borcha @ 27.07.2007. 11:18 ] @
Sta pises u sqlConnection ? (putanju do servera, mislim kako ako nepostoji baza,treba tek da je napravim ?)
[Ovu poruku je menjao borcha dana 27.07.2007. u 12:44 GMT+1]
[Ovu poruku je menjao borcha dana 27.07.2007. u 12:44 GMT+1]
[Ovu poruku je menjao borcha dana 27.07.2007. u 12:44 GMT+1]
[ borcha @ 27.07.2007. 16:49 ] @
Pokusavam da napravim bazu. Sve se desava u Form_load !!!
Code: Try
Dim SqlCon As New SqlConnection(?)
Dim SerCon As New ServerConnection(SqlCon)
Dim Ser As New Server(SerCon)
Dim novData As New Database(Ser, "NovaBaza")
novData.Create()
Catch ex As Exception
MessageBox.Show(ex.Message)
Return
End Try
Greska koja se javlja, ima li neko pojma sta bi to bilo..? i u SQLConnection polje (?)
SetParent Failed For Database 'ImeBaze'
pozz..
[ borcha @ 27.07.2007. 19:28 ] @
Uspeo sam!!
[ Astek @ 27.07.2007. 22:12 ] @
Koristi u ConnectionString-u opciju AttachDbFilename. Kreira bazu podataka na SqlServer-u na osnovu mdf fajla koji mu proslediš.
[ borcha @ 27.07.2007. 23:39 ] @
Kako da iskoristim skripte koje su napravljene u cilju pravljenja nove baze i novih tabela u istoj bazi. Postoji li neka opcija da njih iskoristim u aplikaciji ??
[ borcha @ 28.07.2007. 10:07 ] @
Mislis da kad napravim novu bazu kao fajl sa svojim _log-om. U ConnStringu pozivam taj fajl i kacim ga na server (AttachDBFilename)?
[ Astek @ 28.07.2007. 13:04 ] @
Ne treba ti log fajl samo mdf.
Npr ovako:
Server=.\SQLEXPRESS;AttachDbFilename=C:\Program Files\GIGS\DATA\GIGS_DATA.MDF;Database=GIGS_DATA;Connect Timeout=30;;Integrated Security=True;Connect Timeout=30;User Instance=True;
Ako ne postoji navedena baza na SqlServeru kreiraće je u suprotnom koristiće postojeću.
[ borcha @ 28.07.2007. 13:20 ] @
Ok, uspeo sam! a sad kako da iskoristim postojece script fajlove da napravim tabele procedure i ostalo?
[ Astek @ 28.07.2007. 13:36 ] @
Tabele, procedure, trigeri,funkcije... sve ti je u tom mdf-fajlu. Znaci sve to napravis preko nekog SqlServer menadzera , pokupis tako kreiran mdf - fajl i definises putanju do njega u Connection stringu. Pazi sad, ako zeliš da testiraš ponovno kreiranje baze na SqlServeru najpre je izbrisi sa Sqlservera(malopre si je kreirao) inace radiće sa starom verzijom.
[ borcha @ 28.07.2007. 13:51 ] @
Izvini nisam bio jasan!
Znaci nemam ni jednu bazu pod. na serveru ni u fajlu .mdf. Znaci, baza ne postoji, ali.... U manageru kada pravim bazu , ostaju svi ostaci te pravljene baze na prm. scripte procedura, tabela i same baze....kao fajlovi...kapis?
Sada te zaostavstine (fajlove tj.scripte) da iskoristim kako bi napravio prvo bazu, tabele i neke procedure za dinamine poglede i unos i promenu podataka.....;-)?
Neki lik iz bosne na SQL Ser forumu mi kaze da, ovako (sta ti mislis?):
-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.
[ borcha @ 28.07.2007. 14:31 ] @
Imas li pojma kako da obavim ovo sto mi je Jaran preporucio? Hvala
Kako da ucitam scripte u StringCollection?
[ borcha @ 29.07.2007. 10:34 ] @
Uspeo sam da pozovem scriptu u .txt formatu preko StreamReadera, tako da hvala...
[ borcha @ 29.07.2007. 17:14 ] @
ipak se javio problem....! Nemogu na isti nacina kako sam napravio tabele, da napravim i uskl. procedure!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|