Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 12

Software Necesario:

 SQL Server 2000 (Comprobar el service pack instalado SP1,SP2 ó SP3)


 Internet Information Server.
 Visual Studio net.
 Microsoft ActiveSync si el pocket PC no tiene tarjeta de red.

Instalación de SQL Server CE

Este programa se debe instalar en el ordenador donde esté instalado IIS.

En la carpeta “C:\Archivos de programa\Microsoft Visual Studio .NET


2003\CompactFrameworkSDK\v1.0.5000\Windows CE”, existen unos
programas llamados

 sqlce20sql2ksp1.exe
 sqlce20sql2ksp2.exe

Si el service pack de SQL Server 2000 es SP1 ó SP2 , ejecutar el archivo


correspondiente, si es SP3 ó Sp3a puedes bajarlo de Microsoft.

http://www.microsoft.com/downloads/details.aspx?
displaylang=es&FamilyID=b974ba7a-a9fa-49d1-bbb7-2bee43cf64d7

Al ejecutar el programa, se instala Microsoft SQL Server CE 2.

Por defecto, tiene marcado el ejecutar el Wizard de configuración. Yo prefiero


no ejecutarlo ahora y ejecutarlo desde el management console del SQL CE.

Hay copiar el agente SQL CE (sscesa20.dll) en un directorio donde los


permisos de acceso no se hereden de la ruta anterior, ya que en el directorio
donde tengamos el agente SQL CE se utilizará para crear archivos temporales.

Por ejemplo creamos C:/AgenteSQL_CE y en propiedades->Seguridad


desmarcamos la casilla de heredar permisos (Si el sistema es NTFS, si es FAT
no es necesario) . Ahora, copiamos el fichero sscesa20.dll a la carpeta desde
“C:\Archivos de programa\Microsoft SQL Server CE 2.0\Server “ a
“C:\AgenteSQL_CE”

Abrimos la consola de Microsoft SQL Server CE y pulsamos el icono “Create a


Virtual Directory” que nos abre el Wizard de antes.

Pulsamos next si no tenemos ni idea de Ingles o lo leemos si sabemos algo.


En la casilla superior escribimos el alias que usaremos para acceder desde
Internet por ejemplo AgenteSQL y en inferior buscaremos el directorio creado
“C:\AgenteSQL_CE”. Pulsamos Next
Aquí tenemos que decidir quien tiene permisos para acceder al directorio virtual
de IIS. Si no tenemos el servidor conectado a Internet, podemos seleccionar
acceso anónimo en caso contrario conviene usar la autentificación integrada de
Windows.

Pulsamos Next
Si tenemos planeado usar RDA (Remote Data Access) no es necesario marcar
esta casilla. Si por el contrario se piensa usa Replicación la marcaremos. Este
paso nos llevará a indicar un recurso de red que será un directorio compartido
en el ordenador que tenga instalado SQL Server 2000, en el cual SQL Server
2000 escribirá los archivos de replicación.
Como yo, de momento, prefiero usar RDA, me lo salto.

Pulsamos Next
Ya hemos acabado de configurar SQL Server CE. Y podemos cerrar la
consola.

Para comprobar que funciona en el explorador de internet pondremos:

http://<Nombre_Servidor>/AgenteSQL/sscesa20.dll

y nos responderá con algo así:

SQL Server CE Server Agent

En el dispositivo móvil también lo podemos probar y nos debe responder lo


mismo. Si no tenéis configurados los DNS en el dispositivo, escribid la IP del
servidor IIS en vez del nombre.

Si la versión de ActiveSync es inferior a la 3.5 necesitaremos el programa


sscerelay.exe que está en la carpeta “C:\Archivos de programa\Microsoft Visual
Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE”

Podemos crear un directorio en “C:\Archivos de programa\Microsoft SQL


Server CE 2.0” que se llame “Relay” y copiar el fichero. Al hacer doble clic
sobre el se registrará y funcionará creando un Log.
Para desinstalarlo escribiremos “sscerelay /unregister” en una ventana de
comandos.

Instalar SQL CE en el dispositivo Móvil

La manera más fácil es crear un programa Hello World en Vs net para


dispositivos móviles y agregarle una referencia a System.Data.SqlServerCe,
cuando implementemos el programa en el dispositivo móvil se cargarán todos
los programas necesarios.

Si preferimos hacerlo manualmente:

1. Dependiendo de la plataforma, copiar el archivo


“netcf.core.plataforma.procesador.cab” ó “netcf.all.plataforma.procesador.cab”
al dispositivo móvil y extraerlo.
2. Copiar el archivo sqlce.plataforma.procesador.cab y extraerlo.
3. Copiar el fichero sqlce.dev.platform.processor.cab y extraerlo.

Estos archivos están en “C:\Archivos de programa\Microsoft Visual Studio .NET


2003\CompactFrameworkSDK\v1.0.5000\Windows CE\” wce300 ó wce400 \
procesador.

El tercero de ellos nos instalará el Query Analyzer en el dispositivo.

Como crear el primer SDF

De momento no existe ninguna aplicación de escritorio para crear o manejar


estos ficheros. Solamente se pueden crear en el dispositivo.
 Abrir el “SQL CE Query” del dispositivo.
 Pulsar el icono de Base de datos con una flecha verde que está en la
parte superior. Esto nos abre una ventana de dialogo para conectarnos a
una base de datos.
 Pulsar al botón browse que está a la derecha de la casilla path .
Seleccionar un directorio y escribir un nombre del fichero. Por ejemplo
“\my documents\pruebas.sdf”. Pulsar al botón “New Database” y
seleccionar el tipo de ordenación (Spanish).
 Pulsar el botón “Create”

Ya hemos creado el fichero “pruebas.sdf” que es una base de datos SQL CE


sin tablas.

Normalmente, el programa “SQL CE Query” se queda conectado a la base de


datos. Para los siguientes pasos es conveniente desconectarlo, ya que bloquea
el archivo y ningún otro programa puede acceder a el. Para desconectar,
selecciona la base de datos y pulsa el icono de base de datos con un
cuadrado rojo que esta en la parte superior.
Como crear y rellenar una tabla

Crea en Vs net una aplicación nueva para smart device

Selecciona el dispositivo que quieras usar y selecciona aplicación para


Windows.
Agregale una referencia a System.Data.SqlServerCE

Agregale al formulario un botón Conectar


Selecciona el código que está más abajo y pegalo en el proyecto.

Pulsa F5 y si la conexión es correcta, el programa empezar a funcionar en le


dispositivo.

Pulsa el botón y espera a que acabe todo.

Para comprobar que se ha creado la tabla clientes, abre en el dispositivo el


programa “SQL CE Query”, conectate con la base de datos pruebas y mira si
se ha creado la tabla Clientes.
Imports System.Data.SqlServerCe

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


Dim rda As SqlCeRemoteDataAccess = Nothing
Dim ConnectString As String = "Provider=sqloledb; Data Source=<Nombre del Servidor SQL>;" + _
“Initial Catalog=<Nombre Base de datos de SQL Server>;User Id=sa;Password =<Contraseña>"
Try

rda = New SqlCeRemoteDataAccess

System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor()

rda.InternetLogin = ""
rda.InternetPassword = ""
rda.InternetUrl ="http://<Ip_Servidor>/AgenteSQL/sscesa20.dll"
rda.LocalConnectionString = "Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0; " + _
"Data Source=\my documents\pruebas.sdf"

rda.Pull("Pruebas", "SELECT ID, Nombre, Direccion, CP, Ciudad, Telefono FROM Clientes" _
, ConnectString, RdaTrackOption.TrackingOff, "ErroresClientes")

Catch ex As SqlCeException
ShowErrors(ex)
Finally

rda.Dispose()
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default()

End Try

End Sub
Public Shared Sub ShowErrors(ByVal e As SqlCeException)
Dim errorCollection As SqlCeErrorCollection = e.Errors

Dim bld As New StringBuilder


Dim inner As Exception = e.InnerException

If Not inner Is Nothing Then


MessageBox.Show(("Inner Exception: " & inner.ToString()))
End If

Dim err As SqlCeError

' Enumerate each error to a message box.


For Each err In errorCollection
bld.Append((ControlChars.Cr & " Cód Error : " & err.HResult.ToString("X")))
bld.Append((ControlChars.Cr & " Mensaje : " & err.Message))
bld.Append((ControlChars.Cr & " Min. Err. : " & err.NativeError))
bld.Append((ControlChars.Cr & " Origen : " & err.Source))

' Retrieve the error parameter numbers for each error.


Dim numPar As Integer
For Each numPar In err.NumericErrorParameters
If 0 <> numPar Then
bld.Append((ControlChars.Cr & " Num. Par. : " & numPar))
End If
Next numPar

' Retrieve the error parameters for each error.


Dim errPar As String
For Each errPar In err.ErrorParameters
If [String].Empty <> errPar Then
bld.Append((ControlChars.Cr & " Err. Par. : " & errPar))
End If
Next errPar

MessageBox.Show(bld.ToString())
bld.Remove(0, bld.Length)
Next err
End Sub

También podría gustarte