Używam Azure Services Telefony z moich aplikacji bez większego problemu, ale dzisiaj, kiedy starałem się wyciągnąć z usługi otrzymuję ten błąd:błąd logowania Azure służba ruchoma z bazy danych i „master” użytkownik
Exception=System.Data.SqlClient.SqlException (0x80131904): Cannot open database "master" requested by the login. The login failed. Login failed for user 'JVlSvKwDpdLogin_*****'.
nigdy nie miałem ten problem wymyślić wcześniej, a ja jedynie podłączenia do mojego telefonu usługi w kodzie tak:
public static MobileServiceClient MobileService = new MobileServiceClient(
"https://<webservicename>.azure-mobile.net/",
"<YOUR-API-KEY-HERE>"
);
zanim ten błąd się stało, nigdy nie dostarczył nazwy użytkownika lub hasła. Widziałem kilka rozwiązań, w których utworzyli użytkownika dla bazy danych, ale nie chcę go tworzyć już teraz, ponieważ wciąż jesteśmy w fazie testowania i wolałbym teraz móc korzystać z tej usługi bez niej. Czy jest to problem związany z usługą mobilną lub problem z bazą danych?
UPDATE
Jak sugeruje odpowiedź Matta poniżej, znalazłem MS_ConnectionString w Azure portalu. Następnie podłączyłem się do bazy danych "master" na moim serwerze Azure SQL i szukałem powyższego loginu. Zmieniłem hasło do tego znalezionego w ciągu połączenia przy użyciu
ALTER LOGIN <login> WITH password='<password-found-in-connection-string>';
Ale teraz mam ten błąd:
Exception=System.Data.Entity.Core.ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. ---> System.Data.Entity.Core.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: Login failed for user 'JVlSvKwDpdLogin_*******'.
I nie zmienia niczego w ciągu połączenia lub pliku web.config dla mojego projektu AzureMobileService.
web.config:
<connectionStrings>
<add name="MS_TableConnectionString" connectionString="Data Source= (localdb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-CoverageTool.AzureMobileService-20140910083006.mdf;Initial Catalog=aspnet-CoverageTool.AzureMobileService-20140910083006;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
</connectionStrings>
MobileContext:
private const string connectionStringName = "Name=MS_TableConnectionString";
public MobileServiceContext()
: base(connectionStringName)
{
}
String Connection
Data Source=*****.database.windows.net;Initial Catalog=sbpconsulting_db;User ID=*******Login_sbpconsulting;Password=**************;Asynchronous Processing=True;TrustServerCertificate=False;
Czy możesz wkleić ciąg połączenia (minus nazwa użytkownika i hasło), który znajdziesz w portalu? –
Pewnie, właśnie dodałem ciąg połączenia. W celu ponownego wpisania, jest to ciąg połączenia, który został automatycznie utworzony wraz z usługą mobilną, więc nie wprowadziłam żadnych zmian. Jedyne, co zrobiłem, to skopiowanie i wklejenie hasła podczas próby ZMIENIA SIĘ LOGIN ze skryptu bazy danych, ale nadal pojawiają się błędy logowania. – WiteCastle