2011-01-13 609 views
5

Estoy intentando actualizar algún código. Tengo un archivo de VB que se inicia con esta ...sqlconnection no está definido

Imports System.Data.SqlClient 
Imports System.Data.Sql 
Imports System.Data.SqlTypes 
Imports System.Configuration 

<script runat="server"> 

... y que está fallando aquí ...

Using oConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString()) 

El error se devuelve ...

"Descripción: Ocurrió un error durante la compilación de un recurso requerido para atender esta solicitud. Revise los siguientes detalles de error específicos y modifique su código fuente apropiadamente.

Mensaje de error del compilador: BC30002: Escriba 'SqlConnection' no está definido. "

¿Falta una de las clases de sistema?

EDIT: He actualizado el código para esto ...

Using oConn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString()) 

... y lo acepta. ¿Por qué tengo que escribir explícitamente System.Data.SqlClient cada vez que uso un objeto de esa clase?

+1

¿Tiene una referencia a System.Data.dll? –

+0

Ver comentario sobre la respuesta de Jeff. Además, intenté simplemente escribir "Imports System.Data.dll" y dice que no lo reconoce. –

Respuesta

1

Así, resulta que esta línea fue el tema ...

Using oConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("tps_write").ConnectionString()) 

... en lugar de utilizar "tps_write," he cambiado el permiso para "tpsWrite." Aparentemente el tps_write es un permiso obsoleto que ya no se usa aquí en el trabajo. Ojalá los mensajes de error fueran más claros. ;)

Gracias por la ayuda de todos!

+0

Me alegra saber que tienes todo funcionando. :) –

0

Si su proyecto es una aplicación web, es posible que le falte una referencia a System.Data. Haga clic con el botón derecho en el proyecto en el Explorador de soluciones y vaya a Agregar referencias. En la pestaña .NET, seleccione System.Data.dll y haga clic en Aceptar.

+0

Intenté esto y System.Data.dll no estaba en la lista ... –

+0

Pruébalo sin el ".dll". ¿Estaba System.Data en la lista? – Jeff

0

Asegúrese de haber especificado su cadena de conexión en el archivo web.config. Debería ver una etiqueta en ese país como éste

<connectionStrings> 
<--! Below is your connection string> 
<add name="ConnName" connectionString="Data Source=PROGRAMMER2\SQLServer;Initial Catalog=PPSSecurity;Integrated Security=true;" /> 
</connectionStrings> 
1

EDIT: He actualizado el código para esto ...

Usando oConn Como System.Data.SqlClient.SqlConnection = Nueva sistema. Data.SqlClient.SqlConnection (ConfigurationManager.ConnectionStrings ("tps_write"). ConnectionString())

... y lo acepta. ¿Por qué necesito escribir explícitamente System.Data.SqlClient cada vez que uso un objeto de esa clase?

Mi mejor conjetura es que hay otra clase por ahí llama SqlConnection y .NET no se sabe qué tipo de uso hasta que especifique la System.Data.SqlClient.SqlConnection una forma explícita.

+0

Intenté eso, sin suerte ... –

+0

@Ant, edité mi respuesta después de leer su edición. ¿Hay otras clases o algo en tu aplicación llamado 'SqlConnection'? –

+0

Buena llamada. Creo que ese podría ser el problema. Tendré que investigar más. ¡Gracias! –