Windows Mobile e SQL Server su host XP [VB.Net]

sabato 13 febbraio 2010 - 22.18

skizz87 Profilo | Newbie

Ciao a tutti,
dopo aver scandagliato a fondo la rete mi rivolgo a voi dato che le informazioni di questo forum si sono rivelate spesso molto utili.
Mi trovo a dover scrivere un'applicazione per Windows Mobile (è la prima app mobile che scrivo) che deve connettersi ad un database SQL Server su un host XP connesso in LAN.
Per la connessione alla rete pensavo di sfruttare il WiFi dato che l'area operativa è relativamente ristretta mentre per la successiva connessione al db sono davvero in panne.
Uso VB.Net con VS 2008 ma per lo sviluppo di applicazioni per smart device non vedo molte possibilità per la connessione ai DB.
Ho trovato la classe System.Data.SqlClient ma non credo sia propria degli smart. Alla fine sul db dovrò solo fare degli INSERT o al MASSIMO degli UPDATE.

Riepilogo:
VB.Net 2008
Windows Mobile deve connettersi ad un SQL Server in LAN su Windows XP
Avete qualche suggerimento da darmi?

grazie mille
saluti a tutti


PS: avevo trovato questo http://www.dotnethell.it/forum/messages.aspx?ThreadID=22852 ma non ci ho capito molto, lo scopo dell'applicativo è quasi il medesimo.

Klaus-zanini Profilo | Senior Member

Io ho sviluppato software per palmare e pocket pc e la libreria che uso per la connessione al database SQL Server è System.Data.SqlClient.

Ad esempio per fare una INSERT:

System.Data.SqlClient.SqlConnection myConn = new System.Data.SqlClient.SqlConnection("stringa di connessione al server");
System.Data.SqlClient.SqlCommand myCommand = new System.Data.SqlClient.SqlCommand("INSERT INTO TABELLA (Colonna1, Colonna2) VALUES (Valore1, Valore2)",myConn);
myConn.Open();
myCommand.ExecuteNonQuery();
myConn.Close();

skizz87 Profilo | Newbie

intanto grazie per l'attenzione
io non facevo molto diversamente comunque ho ridichiarato le variabili come mi hai suggerito tu ma mi restituisce questo errore:


240x400 21Kb


Io sto facendo delle prove su il mio Omnia i900 con Windows Mobile 6.1...

Klaus-zanini Profilo | Senior Member

Hai provato a farlo girare in debug e vedere in che punto ti da l'errore? Sull'esecuzione della connessione o del comando?

skizz87 Profilo | Newbie

Si lo uso sempre in modalità debug collegandolo al dispositivo.
L'errore me lo da proprio quando gli do l'open per la connessione.

Klaus-zanini Profilo | Senior Member

La stringa di connessione è corretta? Hai provato ad usare la stessa stringa da una windows application?
Hai provato a fare un ping al server dal dispositivo per essere sicuro di raggiungerlo?

skizz87 Profilo | Newbie

Guarda non ho effettuato queste prove e non sono a casa per provare per cui proverò questa sera.
La stringa di connessione, per essere sicuro che funzionasse, l'ho presa dal wizard che c'è in visual studio per connettere i db, con il suo tool riuscivo anche a sfogliare le tabelle...


EDIT:

Allora dal dispositivo pingo il server per cui la rete è ok...
Ho effettuato una prova cercando di aprire la connessione al db con la stessa connectionstring da un windowsform e va perfettamente.
Una cosa mi ero dimenticato, quando gli do Imports System.Data.SqlClient, SqlClient non è menzionato nella lista delle classi alche ho aggiunto la dll a mano... non so se quello possa essere o meno un problema.

skizz87 Profilo | Newbie

Allora ho risolto il problema reinstallando il SQL Server Compact SDK, ora sembra che la libreria venga importata in maniera regolare.
Posto queste due righe, su un progetto smart device ho aggiunto un bottone che mi apre la connessione:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ora però mi da SQL Exception e su conn.Open mi dice che non riesce a contattare il server, io ho provato e dal dispositivo mobile pingo il server.
Sul server per essere sicuro ho verificato che fossero abilitate le connessioni da remoto e ho disattivato il firewall per fugare ogni dubbio.

Qualche idea?


PS: da winform funziona

Klaus-zanini Profilo | Senior Member

Da windows form sullo stesso pc o su un pc remoto?

Hai già verificato la configurazione di SQLExpress?
Su Sql Server Configuration Tools , nei protocolli di SQLExpress il TCP/IP e il named pipes sono attivati? E i protocolli client di SQL Native Client?

skizz87 Profilo | Newbie

Ho risolto reinstallando SQL Server e riconfigurando la gestione delle connessioni remote, ora funziona perfettamente.
Se può servire posso pubblicare il codice della connessione.

mazzalim Profilo | Newbie

Ciao, ho lo stesso problema.
Il palmare pinga il server ma la connessione genera errore.
Cosa vuol dire che hai riconfigurato la gestione delle connessioni remote?
L'errore me lo da random su alcuni palmari.
Ne stanno usando 6 e l'errore si propone saltuariamente.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5