Hi,
ich wechsle von MySql zu MSSql, da mir Kasperskys Fehlermeldung nicht gefällt(siehe Anhang!).
Das Erstellen einer (leeren) Datenbank funktioniert, aber nicht bei dem Anfügen einer Tabelle.
Jetzt Create Table:
Hier erhalte ich die Meldung: Falsche(******) Syntax in der Nähe von '.'.
und:Falsche(******) Syntax in der Nähe von 'AUTO_INCREMENT'
Wo liegt hier mein Fehler?
Das bewährte Try/Error verhalf mir zu etwas Erfolg:
str = "USE stammdaten; " & _
"CREATE TABLE tbluser (" & _
"UserID INT IDENTITY PRIMARY KEY (UserID)," & _
"UserName VARCHAR(12) NOT NULL," & _
"Passwort VARCHAR(150) NOT NULL)"
Die Anbindung ist zwar gelungen, aber noch nicht die Einbindung 'IF EXISTS' bzw 'IF NOT EXISTS';
Ob ich 'CREATE TABLE tbluser IF EXISTS' oder: 'DROP TABLE tbluser' verwende, es gibt es eine Fehlermeldung.
Alfred
Warum in die Ferne schweifen, wenn das Gute doch so nah....?
Die Lösung bot der Script-Editor im Management Studio!
Alfred
ich wechsle von MySql zu MSSql, da mir Kasperskys Fehlermeldung nicht gefällt(siehe Anhang!).
Das Erstellen einer (leeren) Datenbank funktioniert, aber nicht bei dem Anfügen einer Tabelle.
Code:
Dim myConn1 As SqlConnection = New SqlConnection("Data Source=XYZ\SQLEXPRESS;Integrated security=SSPI")
Dim oPfad1 As String = "C:\Programme\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\"
str1 = "CREATE DATABASE stammdaten ON PRIMARY " & _
"(NAME = stammdaten_data, " & _
"FILENAME = '" & oPfad1 & "stammdaten.mdf', " & _
"SIZE = 3MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " & _
"LOG ON (NAME = stammdaten_log, " & _
"FILENAME = '" & oPfad1 & "stammdaten_log.ldf', " & _
"SIZE = 1MB, MAXSIZE = 5MB, FILEGROWTH = 10%)"
Dim myCommand1 As SqlCommand = New SqlCommand(str1, myConn1)
Dim curFile1 As String = "C:\Programme\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\stammdaten.mdf"
Try
If myConn1.State = ConnectionState.Open Then myConn1.Close()
myConn1.Open()
If Not File.Exists(curFile1) Then
myCommand1.ExecuteNonQuery()
End If
Catch sqlExc As SqlException
MsgBox(sqlExc.Message, MsgBoxStyle.Information)
MessageBox.Show(sqlExc.ToString, "SQL Exception Error!", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Application.Exit()
Me.Dispose()
Me.Close()
Finally
myConn1.Close()
End Try
Code:
Dim myConn As SqlConnection = New SqlConnection("Data Source=XYZ\" & _
"SQLEXPRESS;Initial Catalog=stammdaten;Integrated security=SSPI")
Dim str As String = String.Empty
str = "USE stammdaten.mdf;" & _
"CREATE TABLE tbluser (" & _
"UserID INTEGER AUTO_INCREMENT PRIMARY KEY (UserID)," & _
"UserName VARCHAR(12) NOT NULL," & _
"Passwort VARCHAR(15) NOT NULL)"
Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
Try
myConn.Open()
myCommand.ExecuteNonQuery()
Catch sqlExc As SqlException
MsgBox(sqlExc.Message, MsgBoxStyle.Information)
MessageBox.Show(sqlExc.ToString, "SQL Exception Error!", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If myConn.State = ConnectionState.Open Then myConn.Close()
End Try
und:Falsche(******) Syntax in der Nähe von 'AUTO_INCREMENT'
Wo liegt hier mein Fehler?
Das bewährte Try/Error verhalf mir zu etwas Erfolg:
str = "USE stammdaten; " & _
"CREATE TABLE tbluser (" & _
"UserID INT IDENTITY PRIMARY KEY (UserID)," & _
"UserName VARCHAR(12) NOT NULL," & _
"Passwort VARCHAR(150) NOT NULL)"
Die Anbindung ist zwar gelungen, aber noch nicht die Einbindung 'IF EXISTS' bzw 'IF NOT EXISTS';
Ob ich 'CREATE TABLE tbluser IF EXISTS' oder: 'DROP TABLE tbluser' verwende, es gibt es eine Fehlermeldung.
Alfred
Warum in die Ferne schweifen, wenn das Gute doch so nah....?

Die Lösung bot der Script-Editor im Management Studio!
Alfred
Anhänge
Zuletzt bearbeitet: