none
Porque no puedo ver el espacio de nombres System.Data.SqlServerCe

    Pregunta

  • Hola a todos:

     Me dirijo a:

    • Explorador de soluciones
    • click derecho, 
    • Agregar referencia
    • Ficha .Net

    Pero no veo, la referencia a  System.Data.SqlServerCe.

    Y si pongo directamente el  Imports System.Data.SqlServerCe en la clase que maneja los datos, no me lo reconoce como valido me lo señala con una linea roja y no me da opciones de solución. 

     Este problema se soluciona agregando una Bd de SqlCompact a mi solución es entonces cuando se desaparece la linea Roja debajo del  espacio de nombres, pero esto no debe de ser así, ya que el espacio de nombres OleDb y SqlClient me los toma como validos a la primera.

     Utilizo Vs2010 Ultimate y tengo instalado el SqlCompact 3.5 y 4

     Gracias a todos!


    Saludos desde Monterrey, N.L. México Luis Escobar :D

    jueves, 04 de octubre de 2012 1:25

Respuestas

  • Agregalo por el examinador de objecto


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:16
    jueves, 04 de octubre de 2012 1:36
  • Primero trata de agregarlo por esta via

    Si no te da resultado, verifica la gac para ver que el ensamblado exista

    C:\Windows\Microsoft.NET\assembly

    O mediante la herramienta de Configuración de .NET Framework 2.0

    Esta es la hubicacion de la dll

    C:\Program Files (x86)\Microsoft SQL Server Compact Edition

    O en

    C:\Program Files\Microsoft SQL Server Compact Edition

    Podra usar la herramienta Global Assembly Cache Tool (Gacutil.exe), con la opcion i para instala el ensamblado,


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:15
    jueves, 04 de octubre de 2012 2:19
  • "Luis_Escobar" escribió:

    > La Dll se encuentra en la ruta "C:\Program Files\Microsoft
    > SQL Server Compact Edition\v3.5\Devices"
    >
    > Lo agrego desde el explorador "Agregar Referencias" pero
    > cuando inicio un nuevo proyecto y trato de importar la
    > libreria, me sigue marcando en rojo.
    >

    Me imagino que lo que deseas hacer es que cada vez que inicies un Nuevo proyecto, te aparezca referenciada la biblioteca de SQL Server Compact, o cualquier otra que no venga referenciada por defecto en las distintas plantillas de proyectos de Visual Basic que aparecen en la versión de Visual Studio que estés utilizando.

    Si es así, la solución es tan fácil como

    1º) Crear un Nuevo proyecto con la plantilla que desees.

    2º) Añadir las referencias que quieras utilizar en tus nuevos proyectos.

    3º) Guardar los cambios; no es necesario que el proyecto lo guardes físicamente en alguna carpeta.

    4º) Seleccionar el menú Archivo --> Exportar plantilla...

    5º) Seguir los pasos del Asistente para exportar plantilla, teniendo presente que lo que te interesa crear es una Plantilla de proyecto.

    Cuando hayas guardado tu plantilla, ya la tendrás disponible en el cuadro de diálogo Plantillas instaladas, que es el cuadro de diálogo que aparece cuando deseamos crear un Nuevo proyecto.

    Una vez que selecciones la nueva plantilla, ya no te aparecerá ninguna línea roja (¿o es verde?) cuando escribas:

    Imports System.Data.SqlServerCe


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.


    jueves, 04 de octubre de 2012 21:47
  • "Luis_Escobar" preguntó:

    > Pero no deberia de estar por default?,

    Para una aplicación de Windows Forms, entiendo que no debería de estar por defecto, y si la quieres tener por defecto, ya te he dicho lo que tienes que hacer. ¿Para qué darle más vueltas al asunto?

    > Porque para SqlServerCe tengo que tratarlo de manera especial,
    > referenciando manualmente, plantillas, etc. Insisto, si con
    > las otras solo basta con escribirlas.

    Digo yo que será porque los diseñadores de Visual Studio no han considerado oportuno añadir a la plantillas por defecto una referencia a la biblioteca de SQL Server Compact, como sí lo han hecho con el ensamblado System.Data, que es donde se encuentran los espacios de nombres de los proveedores de datos .net para SQL Server, OleDb y Odbc.

    Lo mismo otros usuarios echaran en falta que no venga por defecto una referencia a la biblioteca de Oracle o de MySQL, o de cualquier otra biblioteca que utilicen con frecuencia. Pero esta falta se suple con creces con el Asistente para exportar plantillas.

    > Instale el SqlCompact desde el Setup del mismo SqlCompact que
    > descargue de la pagina de Microsoft, acaso algo esta mal
    > instalado.

    ¡Vamos a ver Luis! ¡No tienes nada mal instalado! Lo que te pasa a tí con la biblioteca de SQL Server Compact nos pasa a todos, por lo que no te tienes que preocupar más del asunto. Anteriormente te he indicado lo que tienes que hacer: crearte una nueva plantilla que tenga referenciada la versión de la biblioteca de SQL Server Compact con la que deseas trabajar, plantilla que será la que tendrás que seleccionar cuando desees crear un nuevo proyecto que utilice los objetos del espacio de nombres System.Data.SqlServerCe, y entonces verás como te aparecerá dicha biblioteca en las referencias del proyecto. ¡No te calientes más la cabeza! ;-)

    > Porque las imagenes que nos regala Angel Jimenez a el si le aparece
    > la libreria y a mi no.

    Me imagino que será porque en su proyecto ha referenciado MANUALMENTE la biblioteca de SQL Server Compact, porque te vuelvo a repetir que por defecto no viene referenciada en ninguna plantilla. Y de venir por defecto, ¿según tú qué versión tendría que venir referenciada? ¿La versión 3.5 o la versión 4.0? Te hago saber que las dos versiones no pueden estar referenciadas a la vez en el mismo proyecto. O referencias una o referencias la otra. ;-)


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:15
    viernes, 05 de octubre de 2012 5:00

Todas las respuestas

  • Agregalo por el examinador de objecto


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:16
    jueves, 04 de octubre de 2012 1:36
  • Hola Ángel:

     Gracias, por tu interés seguí cada uno de los pasos pero no logre encontrar la referencia; 

    "No se encontraron resultados para la búsqueda"

    Alguna otra opción?

     Gracias!


    Saludos desde Monterrey, N.L. México Luis Escobar :D

    jueves, 04 de octubre de 2012 1:47
  • En busqueda en el paso 3 coloca el nombre del assambly, ejemplo SqlServerCe(Recuerda que mientra mas corto es el nombre obtendra mas resultado en la busqueda) luego presiona la tecla entrada, debera aparecer. Sino busca la ubicacion en el disco duro del assambly para agregarlo de forma manual a la GAC

    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog


    • Editado Angel Jimenez jueves, 04 de octubre de 2012 1:55 Modificar
    jueves, 04 de octubre de 2012 1:53
  • Realice la busque desde la barra, y recibí el mensaje que te menciono arriba...

    Ahora, si lo agrego de manera manual, podre verlo en los futuros proyectos? o siempre tendre que buscarlo de manera manual.

    Gracias!


    Saludos desde Monterrey, N.L. México Luis Escobar :D


    jueves, 04 de octubre de 2012 1:57
  • Tenes que buscar la dll en la carpeta donde se instalo que por lo general es.

    C:\Archivos de programa\Microsoft SQL Server Compact Edition\v3.5

    Tenes que dar click derecho agregar referencia luego pestaña examinar y buscas la dll en la ruta donde se instalo.


    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    jueves, 04 de octubre de 2012 2:10
  • Primero trata de agregarlo por esta via

    Si no te da resultado, verifica la gac para ver que el ensamblado exista

    C:\Windows\Microsoft.NET\assembly

    O mediante la herramienta de Configuración de .NET Framework 2.0

    Esta es la hubicacion de la dll

    C:\Program Files (x86)\Microsoft SQL Server Compact Edition

    O en

    C:\Program Files\Microsoft SQL Server Compact Edition

    Podra usar la herramienta Global Assembly Cache Tool (Gacutil.exe), con la opcion i para instala el ensamblado,


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:15
    jueves, 04 de octubre de 2012 2:19
  • si vas al panel de control en al opcion de "add and remove programs" para ver lo que tienes instaldo

    puede ver alli que figura un item con "Microsoft Sql compact" ? porque quizas debas descargar he instalar el sql compact ya que desde el VS no se hizo


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 04 de octubre de 2012 2:19
  • Leandro:

    efectivamente desde el panel de control si puedo ver:

    "Microsoft SQL server Compact 3.5 Sp2 ESN"

    "Microsoft SQL server Compact 3.5 Sp2 ESN Deseing tool ESN"

    "Microsoft SQL server Compact 3.5 Sp2 ESN for Devices ESN"

    Angel:

    La Dll se encuentra en la ruta "C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices"

     Lo agrego desde el explorador "Agregar Referencias" pero cuando inicio un nuevo proyecto y trato de importar la libreria, me sigue marcando en rojo.


    Saludos desde Monterrey, N.L. México Luis Escobar :D


    jueves, 04 de octubre de 2012 2:49
  • pero cuando inicio un nuevo proyecto y trato de importar la libreria

    como es eso de iniciar de nuevo ?

    o sea el proyecto lo creas una sola vez y agregas las referencias

    defines el Imports  y usas las clases , pero esto es uan sola vez no es que se inicia nuevamente


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 04 de octubre de 2012 3:04
  • Si, pero por ejemplo para usar otras librerias en nuevos proyectos basta con escribirlas

    Imports System.Data.OleDb

    Imports System.Data.SqlClient

    Cosa que no me sucede a mi con Sqlcompact. En este caso en pasticular ya referencia la libreria y ya no me marca error, pero para proyectos futuros tengo que hacer todo de nuevo ya que escribiendo:

    Imports System.Data.SqlServerCe

    No me lo reconoce.


    Saludos desde Monterrey, N.L. México Luis Escobar :D

    jueves, 04 de octubre de 2012 3:15
  • Tiene que tener claro que para poder utilizar la linea

    Imports System.Data.SqlServerCe

    Debera primero agregar una referencia a esta dll, sino te marcara una raya roja de error debajo de esta linea, ejemplo

    Y tiene que visualizarse en la carpeta Reference del proyecto, aqui;

    Para esta dll, tendra que agregarla siempre de forma manual a meno que se lo especifique en el archivo de configuracion raiz

    Recuerda que hay muchos controles que al arrastrarlo desde el cuadro de herramienta hacia el diseñador de formulario, este proceso te genera la referencia necesaria al proyecto y te escribe la instrucion Import correspondiente a la seccion de importacion del archivo FileName.Designer.cs


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    jueves, 04 de octubre de 2012 19:56
  • "Luis_Escobar" escribió:

    > La Dll se encuentra en la ruta "C:\Program Files\Microsoft
    > SQL Server Compact Edition\v3.5\Devices"
    >
    > Lo agrego desde el explorador "Agregar Referencias" pero
    > cuando inicio un nuevo proyecto y trato de importar la
    > libreria, me sigue marcando en rojo.
    >

    Me imagino que lo que deseas hacer es que cada vez que inicies un Nuevo proyecto, te aparezca referenciada la biblioteca de SQL Server Compact, o cualquier otra que no venga referenciada por defecto en las distintas plantillas de proyectos de Visual Basic que aparecen en la versión de Visual Studio que estés utilizando.

    Si es así, la solución es tan fácil como

    1º) Crear un Nuevo proyecto con la plantilla que desees.

    2º) Añadir las referencias que quieras utilizar en tus nuevos proyectos.

    3º) Guardar los cambios; no es necesario que el proyecto lo guardes físicamente en alguna carpeta.

    4º) Seleccionar el menú Archivo --> Exportar plantilla...

    5º) Seguir los pasos del Asistente para exportar plantilla, teniendo presente que lo que te interesa crear es una Plantilla de proyecto.

    Cuando hayas guardado tu plantilla, ya la tendrás disponible en el cuadro de diálogo Plantillas instaladas, que es el cuadro de diálogo que aparece cuando deseamos crear un Nuevo proyecto.

    Una vez que selecciones la nueva plantilla, ya no te aparecerá ninguna línea roja (¿o es verde?) cuando escribas:

    Imports System.Data.SqlServerCe


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.


    jueves, 04 de octubre de 2012 21:47
  • Enrique:

    Pero no deberia de estar por default?, no me deberia de aparecer ninguna rayita Roja debajo del espacio de nombres, tal cual como lo hace con SqlClient, OleDb.

     Porque para SqlServerCe tengo que tratarlo de manera especial, referenciando manualmente, plantillas, etc. Insisto, si con las otras solo basta con escribirlas.

     Instale el SqlCompact desde el Setup del mismo SqlCompact que descargue de la pagina de Microsoft, acaso algo esta mal instalado. Porque las imagenes que nos regala Angel Jimenez a el si le aparece la libreria y a mi no.


    Saludos desde Monterrey, N.L. México Luis Escobar :D


    jueves, 04 de octubre de 2012 22:17
  • "Luis_Escobar" preguntó:

    > Pero no deberia de estar por default?,

    Para una aplicación de Windows Forms, entiendo que no debería de estar por defecto, y si la quieres tener por defecto, ya te he dicho lo que tienes que hacer. ¿Para qué darle más vueltas al asunto?

    > Porque para SqlServerCe tengo que tratarlo de manera especial,
    > referenciando manualmente, plantillas, etc. Insisto, si con
    > las otras solo basta con escribirlas.

    Digo yo que será porque los diseñadores de Visual Studio no han considerado oportuno añadir a la plantillas por defecto una referencia a la biblioteca de SQL Server Compact, como sí lo han hecho con el ensamblado System.Data, que es donde se encuentran los espacios de nombres de los proveedores de datos .net para SQL Server, OleDb y Odbc.

    Lo mismo otros usuarios echaran en falta que no venga por defecto una referencia a la biblioteca de Oracle o de MySQL, o de cualquier otra biblioteca que utilicen con frecuencia. Pero esta falta se suple con creces con el Asistente para exportar plantillas.

    > Instale el SqlCompact desde el Setup del mismo SqlCompact que
    > descargue de la pagina de Microsoft, acaso algo esta mal
    > instalado.

    ¡Vamos a ver Luis! ¡No tienes nada mal instalado! Lo que te pasa a tí con la biblioteca de SQL Server Compact nos pasa a todos, por lo que no te tienes que preocupar más del asunto. Anteriormente te he indicado lo que tienes que hacer: crearte una nueva plantilla que tenga referenciada la versión de la biblioteca de SQL Server Compact con la que deseas trabajar, plantilla que será la que tendrás que seleccionar cuando desees crear un nuevo proyecto que utilice los objetos del espacio de nombres System.Data.SqlServerCe, y entonces verás como te aparecerá dicha biblioteca en las referencias del proyecto. ¡No te calientes más la cabeza! ;-)

    > Porque las imagenes que nos regala Angel Jimenez a el si le aparece
    > la libreria y a mi no.

    Me imagino que será porque en su proyecto ha referenciado MANUALMENTE la biblioteca de SQL Server Compact, porque te vuelvo a repetir que por defecto no viene referenciada en ninguna plantilla. Y de venir por defecto, ¿según tú qué versión tendría que venir referenciada? ¿La versión 3.5 o la versión 4.0? Te hago saber que las dos versiones no pueden estar referenciadas a la vez en el mismo proyecto. O referencias una o referencias la otra. ;-)


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Luis_Escobar viernes, 05 de octubre de 2012 6:15
    viernes, 05 de octubre de 2012 5:00
  • Muchas gracias a todos

    Al final tome lo que enrique me propuso ya que con esto me evito tener que buscar en cada proyecto la ubicación de la librería.

     Gracias a los demás por sus interés!


    Saludos desde Monterrey, N.L. México Luis Escobar :D

    viernes, 05 de octubre de 2012 6:15