2016-03-28 3 views
0

Ich habe eine Anwendung, die eine eigene SQL Server Express-Datenbank erstellt und verwendet. Es funktionierte gut mit SQL Server 2008 Express unter Windows 7, aber ich muss es mit SQL Server 2014 Express unter Windows 10 arbeiten, und ich bekomme einen Fehler.Datenbankanmeldung im Code erstellen

ich mit einer Admin-Verbindungszeichenfolge beginnen:

connectionString="Data Source=.\SQLEXPRESS2014;Initial Catalog=master;Integrated Security=SSPI" 

Dann mit dieser Verbindung, die ich auf die Datenbank erstellen, indem die Ausführung:

CREATE DATABASE mobile 
ON 
(NAME = mobile_dat, 
    FILENAME = '...\path\mydb.mdf', 
    FILEGROWTH = 5MB) 
LOG ON 
(NAME = 'mobile_log', 
    FILENAME = '...\path\mydb.ldf', 
    FILEGROWTH = 5MB); 

Und dann erstelle ich einen Benutzer:

CREATE LOGIN xxx WITH PASSWORD = 'xxx', CHECK_POLICY = OFF; 

USE mobile 

EXEC sp_adduser 'xxx', 'xxx'; 

EXEC sp_addrolemember 'db_owner', 'xxx'; 
EXEC sp_addrolemember 'db_accessadmin', 'xxx'; 
EXEC sp_addrolemember 'db_securityadmin', 'xxx'; 
EXEC sp_addrolemember 'db_ddladmin', 'xxx'; 
EXEC sp_addrolemember 'db_backupoperator', 'xxx'; 
EXEC sp_addrolemember 'db_datareader', 'xxx'; 
EXEC sp_addrolemember 'db_datawriter', 'xxx'; 

An diesem Punkt trenne ich und verbinde mich als der neue Benutzer:

connectionString="Data Source=.\SQLEXPRESS2014;Initial Catalog=mobile;User Id=xxx;Password=xxx;" 

Das hat gut funktioniert mit SQL Server 2008 Express auf Windows 7, sondern auf mit SQL Server 2014 Express auf Windows 10 Ich erhalte eine Fehlermeldung:

Login failed for user 'xxx'.

Irgendwelche Ideen, was ich bin fehlt?

+0

Eine 'GO'-Anweisung nach 'mobile verwenden'? 'USE mobile' (neue Zeile)' GO'. – Igor

+0

"Falsche Syntax in der Nähe von 'GO'" –

Antwort

1

Haben Sie die Authentifizierung im gemischten Modus bei der Installation von SQL Server Express 2014 aktiviert? Es ist standardmäßig deaktiviert IIRC.

Wenn es aktiviert ist, verwenden Sie Microsoft Management Studio, um zu versuchen, sich anzumelden und festzustellen, welchen Fehler es Ihnen gibt.

+0

Ich habe es in SSMS aktiviert, und das das unmittelbare Problem gelöst. Ich habe sogar herausgefunden, wie man die Authentifizierung im gemischten Modus im Code aktiviert. Das Problem ist, dass der Dienst neu gestartet werden muss und dass mein Programm das nicht kann. Sieht so aus, als würde ich Dinge ändern, um die Windows-Authentifizierung zu verwenden. –