Estoy tratando de hacer algo que creo que es muy simple. Tengo una cadena de conexión que estoy tomando de una base de datos. Cuando creo una nueva instancia de conexión SQL, se ve (cuando depuro y miro el objeto) como si estuviera completando correctamente la cadena de conexión de db. Sin embargo, el mensaje de error que recibo me hace pensar que se está eliminando toda la información después del guión bajo en el nombre de la base de datos.Nombre de la base de datos después de subrayado en cadena de conexión se ignora
Código Ex:
Database db = new SqlDatabase(ConnectionString); // Connection string appears correct
DbCommand dbCommand = db.GetStoredProcCommand("StoredProcName");
DataSet approverDataset = db.ExecuteDataSet(dbCommand); // when this executes, exception is generated
Cuando ejecuto el código estoy recibidos con el siguiente mensaje de excepción: El servidor principal "testdb_psidentity" no es capaz de acceder a la base de datos "testdb" bajo la seguridad actual contexto
Aquí está mi conexión de la secuencia:
DataSource=testserver.com;Database=testdb_ps;Trusted_Connection=false;uid=testdb_psidentity;pwd=testpwd
he intentado cambiar esto:
DataSource=testserver.com;Database=[testdb_ps];Trusted_Connection=false;uid=testdb_psidentity;pwd=testpwd
Y mientras que parece obtener el nombre completo de la base de datos, también parece estar buscando una base de datos con esos corchetes en el nombre también. Como me sale este error: No se puede abrir la base de datos "[testdb_ps]" solicitada por el inicio de sesión. El inicio de sesión falló. Falló el inicio de sesión para el usuario 'testdb_psidentity'.
Sin embargo, puedo iniciar sesión conéctese a la base de datos usando ese nombre de usuario/contraseña en el estudio de administración del servidor SQL.
¿De qué forma puedo hacer que acepte el nombre de la base de datos testdb_ps nombre de la base de datos? No puedo simplemente cambiar el nombre de la base de datos porque no tengo acceso a esto, y me dijeron que cambiar el nombre de la base de datos simplemente no sucederá.
¿su usuario "testdb_psidentity" tiene permisos de conexión/ejecución en la base de datos? si no está seguro, puede consultarlo yendo a -> haga clic derecho en la base de datos -> propiedades -> permisos -> seleccione el usuario y seleccione debajo de la pestaña explícita ... – NiK
Tristemente, cuando hago clic derecho en DB, no tengo acceso para ver esto. –
Alcance pero intente poner el origen de datos en la sintaxis [testserver.com] o [testserver]. [Com]. Y está seguro de que el nombre de la fuente es testserver.com (no servidor de pruebas). Vea el nombre en SMSS – Paparazzi