2015-06-12 5 views
5

Ho cercato di ignorare connectionstring nel portale Azure con questa connessione:Come ignorare Azure connessione SQL nel portale Azure

Server=tcp:server.database.windows.net,1433;Database=mydatabase;User [email protected];Password=xxxxxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30; 

Mi dà un errore Keyword not supported: 'server' e quando l'ho provato come:

metadata=res://*/DataAccess.MyDataBase.csdl|res://*/DataAccess.MyDataBase.ssdl|res://*/DataAccess.MyDataBase.msl;provider=System.Data.SqlClient;provider connection string="data source=tcp:server.database.windows.net,1433;initial catalog=MyDataBase;persist security info=True;user [email protected];password=xxxxxx;MultipleActiveResultSets=True;App=EntityFramework"" 

"Keyword not supported: 'metadata'. !!

Quindi qual è l'esatta connectionstring dovrei scrivere ??

Inoltre, ho provato tutti i tipi di stringhe di connessione forniti nello screenshot. enter image description here

risposta

2

Ok ho trovato un answer relativa al mio problema, ma anche ho capito qualcosa

Prima di tutta la stringa di connessione dovrebbe essere come

metadata=res://*/DataAccess.MyDataBase.csdl|res://*/DataAccess.MyDataBase.ssdl|res://*/DataAccess.MyDataBase.msl;provider=System.Data.SqlClient;provider connection string="Server=tcp:server.database.windows.net,1433;Database=MyDataBase;User [email protected];Password=xxxxxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" 

e notare la citazione dovrebbe essere " non ", Anche come Nick ha detto che dovrebbe essere Custom.

1

La prima stringa di connessione ('Server = ..') viene utilizzata per connettersi direttamente al database, senza passare attraverso Entity Framework.
La seconda stringa di connessione ('metadata = ..') è una stringa di connessione di Entity Framework. Se si utilizza EF, è necessario contrassegnare la stringa di connessione nel portale di Gestione di Azure come "Personalizzato" anziché "Database SQL".

+0

ho detto che ho provato tutto il database di tipo SQL, SQL Server, Custom –

1

Nel pannello di controllo, nel pannello Database è presente una posizione che indica "Mostra stringhe di connessione al database" che fornisce stringhe di connessione complete per il database per ADO.Net, PHP, Java e ODBC. Questi possono essere utilizzati come punto di partenza, da cui ho aggiunto il supporto MARS e un altro utente/password per il mio.

Ecco la stringa di connessione per aiutarti. Usiamo questo per sovrascrivere nel Pannello di controllo di WebApp di Azure.

Server=tcp:[AZURE_DB_NAME].database.windows.net,1433;Database=[DATABASE_NAME];User ID=[USER_ID];Password=[PASSWORD];Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;MultipleActiveResultSets=True 

Per quanto riguarda il Drop Down, l'abbiamo impostato su database SQL.

Una cosa che mi viene in mente. Hai provato a utilizzare la stringa di connessione in modalità VS Debug per vedere cosa succede? Devi solo configurare AzureDB per consentire una connessione remota dal tuo IP affinché funzioni. Potrebbe fornire alcune informazioni per te che la tua connessione è corretta ma qualcos'altro sta fallendo.

+0

Sì Martin Ho provato questa copia di connessione copia/incolla dal Pannello Database, ma non ha funzionato con me, e l'ho provato anche con il Database SQL! . potrebbe essere qualcosa che non andava, non lo so. Informazioni sulla domanda Sì, ho configurato il mio AzureDB per consentire la connessione remota dal mio IP. Comunque funziona adesso grazie per il vostro aiuto :) –

+0

Felice di sapere che sta funzionando per voi. :) –

0

ho cercato la soluzione da Mohamed Farrag ma ottenuto questo errore:

System.ArgumentException: Keyword not supported: '.ssdl|res://*/dataaccess.MyDataBase.msl;provider'.

Dopo aver rimosso DataAccess. dalla mia stringa di connessione ha funzionato:

metadata=res://*/MyDataBase.csdl|res://*/MyDataBase.ssdl|res://*/MyDataBase.msl;provider=System.Data.SqlClient;provider connection string="Server=tcp:server.database.windows.net,1433;Database=MyDataBase;User [email protected];Password=xxxxxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"