Hallo Forum,
wie der Titel bereits aussagt möchte ich per Code eien Sql Datenbank (Sql Server 2005) und Tabellen erstellen.
Die (leere) Datenbank läßt sich erstellen.
Beim Versuch Tabellen zu erzeugen bekomme ich beim öffnen der Datenbank einen Fehler:
Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei F:\Visual Basic NET 2008\SQL-Abfrageprogramm\SQL-Abfrageprogramm\bin\Debug\TestDB2.mdf. Eine Datenbank mit diesem Namen ist bereits vorhanden, die angegebene Datei kann nicht geöffnet werden, oder sie befindet sich in der UNC-Freigabe.
Was ist falsch beim Erstellen?
Dim str As String = String.Empty
Dim myConn As SqlConnection = New SqlConnection("Data" & _
"Source=BÜRO-PC\SQLEXPRESS;Integrated security=SSPI")
Dim oPfad As String = "F:\Visual Basic NET" & _
"2008\SQL-Abfrageprogramm\SQL-Abfrageprogramm\bin\Debug\"
str = "CREATE DATABASE TestDB2 ON PRIMARY " & _
"(NAME = TestDB_Data2, " & _
"FILENAME = '" & oPfad & "TestDBData2.mdf', " & _
"SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " & _
"LOG ON (NAME = TestDB_Log2, " & _
"FILENAME = '" & oPfad & "TestDBLog2.ldf', " & _
"SIZE = 1MB, " & _
"MAXSIZE = 5MB, " & _
"FILEGROWTH = 10%)"
Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
Try
myConn.Open()
myCommand.ExecuteNonQuery()
MessageBox.Show("DataBase is Created Successfully", "MyProgram", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information)
Finally
If myConn.State = ConnectionState.Open Then
myConn.Close()
End If
End Try Hier der Code zum Erstellen von Tabellen
Dim myConn As SqlConnection = New SqlConnection("Data" & _
"Source=BÜRO-PC\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TestDB2." & _
"df;Integrated Security=True")
' "Nr COUNTER CONSTRAINT [Nr] PRIMARY KEY, " & _
Dim oCommand As SqlCommand = myConn.CreateCommand()
oCommand.CommandText = "USE TestDB2; " & _
"DROP TABLE IF EXISTS Filme; " & _
"CREATE TABLE Filme (" & vbCrLf & _
"Titel TEXT (100), " & vbCrLf & _
"Genre TEXT (30), " & vbCrLf & _
"USK INTEGER, " & vbCrLf & _
"Regisseur TEXT (30), " & vbCrLf & _
"Laenge INTEGER, " & vbCrLf & _
"Veroeffentlichung DATETIME, " & vbCrLf & _
"id INTEGER NOT NULL AUTO_INCREMENT, " & vbCrLf & _
"PRIMARY KEY (id));"
Try
myConn.Open()
oCommand.ExecuteNonQuery()
MessageBox.Show("Tabellen erfolgreich erstellt", "MyProgram", _
MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Information)
Finally
If myConn.State = ConnectionState.Open Then
myConn.Close()
End If
End Try ich komme einfach nicht drauf - habe schon Tagelang gegoogelt.
Danke
Hänk
(Wer früh aufsteht hat mehr vom Tag) |