Sto sperimentando alcune difficoltà nel tentativo di utilizzare Connection String Builders (ADO.NET) all'interno di LINQ to SQL. Mi permetta di mostrare voi ragazzi quello che sto cercando di fare:Come posso fare in modo che LINQ to SQL usi una stringa di connessione che viene modificata in fase di runtime?
il app.config di file:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="LoremIpsum"
connectionString="Data Source=SomeServer;Initial Catalog=SomeDB;User ID=joe;"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
e un frammento della forma:
ConnectionStringSettings settings =
ConfigurationManager.ConnectionStrings["LoremIpsum"];
if (null != settings)
{
string connection = settings.ConnectionString;
SqlConnectionStringBuilder builder =
new SqlConnectionStringBuilder(connection);
// passwordTextBox being the control where joe the user actually
// enters his credentials
builder.Password = passwordTextBox.Text;
}
LINQTOSQLDataClassDataContext db = new LINQTOSQLDataClassDataContext();
// finally some rather anecdotic LINQ sentence here:
var foo = db.Table.Single(bar => bar.Table == whatever);
O n D'altra parte il controllo della finestra immediata:
?builder.ConnectionString
"Data Source=SomeServer;Initial Catalog=SomeDB;User ID=joe;Password=swordfish"
sto ottenendo sempre un'eccezione: Accesso non riuscito per l'utente 'Joe'. Qualche idea? Grazie mille in anticipo.
Ti manca il codice che utilizza effettivamente la nuova stringa di connessione? Inoltre, perché questo è un wiki? –
Questo non dovrebbe essere un wiki della comunità. – jason
Concordato ... perfettamente una buona domanda. – Kev