2011-09-21 19 views
5

he un viejo proyecto asp.net 1 (que funciona bien en el servidor de edad, mitabla existir en dB. Ahora estoy tratando de actualizarlo a ASP.NET 4SQL error del servidor de ODBC (nombre de objeto no válido), pero cuando agrego en la consulta SQL mydb.dbo.mytable todo trabaja muy bien

Mi cadena de conexión es:

<add key="SqlConnection" 
    value="DRIVER={SQL Server};SERVER=bel\SQLEXPRESS;Trusted_connection=yes;DAT­ABASE=mydb;option=3;"/> 

me sale error

eRROR [42S02] [Microsoft] [ODBC SQL Server Driver] [ SQL Servidor] Nombre de objeto inválido 'mytable'.

OdbcCommand dataCommand = new OdbcCommand ("select * from mytable", dataConnection);
dataCommand.CommandTimeout = 900;
OdbcDataReader dataReader = dataCommand.ExecuteReader (CommandBehavior.CloseConnection);

Cuando escribí SQL como select * from mydb.dbo.mytable todo trabaja muy bien

Lo que debería cambiar en la configuración db (seguridad, esquema, DBO) o en la cadena de conexión?

+0

Sólo especifique siempre el esquema - por ejemplo, use 'dbo.MyTable' en lugar de simplemente' MyTable', así que intente 'select * from dbo.mytable' - ¿eso funciona? –

Respuesta

11

Mi conjetura, ya que está utilizando ODBC, es que su conexión ODBC no especifica una base de datos por defecto, por lo que se trata de utilizar maestro.

Puede:

  • especifique la base de datos en la cadena de conexión utilizando "Base de datos = myDBname" o "InitialCatalog = myDBname"
  • cambio de la base de datos por defecto en la conexión ODBC, como se muestra aquí en XP/servidor 2003 SQL Server ODBC
Cuestiones relacionadas