Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Βοήθεια! Παρακαλώ.....

Îåêßíçóå áðü ôï ìÝëïò teDeV. Τελευταία δημοσίευση από το μέλος teDeV στις 21-09-2007, 16:19. Υπάρχουν 19 απαντήσεις.
Σελίδα 1 από 2 (20 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  20-09-2007, 21:52 35194

    Βοήθεια! Παρακαλώ.....

        Καλησπέρα σε όλους. Πρέπει να φτιάξω μια εφαρμογή που να διαβάζει και να γράφει απο έναν SQL Server 2000 μέσω Wi-Fi. Ότι και να δοκίμασα με sql connections δεν παίζει τίποτα.
    μπορεί κάποιος να μου πει πως να συνδεθώ? XML δεν θέλω να χρησιμοποιήσω οπότε το ξεχνάμε αυτό, ούτε και web services.

    όποιος ξέρει παρακαλώ ας βοηθήσει....

    To 2007 tha ta poume stin agora :)
  •  20-09-2007, 22:34 35196 σε απάντηση της 35194

    Απ: Βοήθεια! Παρακαλώ.....

    Το ότι χρησιμοποιείς WiFi δεν παίζει ρόλο στο πως συνδέεσαι με τον SQL Server. Αν το connection string είναι σωστό και το PDA βλέπει τον SQL Server, θα συνδεθείς. Για να σε βοηθήσουμε , θα πρέπει να μας πεις τί μήνυμα λάθους παίρνεις, τί connection string χρησιμοποιείς και πως συνδέεται το PDA με το server. Το πρόβλημα εμφανίζεται και όταν συνδέεσαι μέσω ActiveSync ή μόνο στο ασύρματο δίκτυο?

    Θα πρέπει να έχεις υπόψη ότι οι ασύρματες συνδέσεις δεν είναι και οι πιο αξιόπιστες. Δεν αποκλείεται, το πρόβλημα σου να είναι μία ασύρματη σύνδεση τόσο κακή ώστε να γίνεται timeout χωρίς να επιτυγχάνεται η σύνδεση στη βάση. Γι αυτό και η πιο συνηθισμένη σχεδίαση είναι να χρησιμοποιείς μία τοπική βάση SQL Server Compact Edition και να κάνεις sync (replication για την ακρίβεια) με τον κυρίως server όταν χρειάζεται. Δες και τα How To Tutorials για παραδείγματα.  Γενικά, όταν σχεδιάζεις μία εφαρμογή η οποία θα πρέπει να παίξει με ασύρματες συνδέσεις θα πρέπει να θεωρείς δεδομένη την κακή σύνδεση.

    Δες και το Mobile Client Software Factory.  Είναι ένα framework και wizards για το Visual Studio το οποίο βοηθάει στο σχεδιασμό mobile εφαρμογών οι οποίες επικοινωνούν με servers μέσω WiFi ή GPRS. Καλύπτει θέματα από το σχεδιασμό του UI μέχρι την ανίχνευση της κατάστασης της σύνδεσης και την μετάβαση από offline σε online λειτουργία. Ακόμα και αν αποφασίσεις να μην το χρησιμοποιήσεις, δες τα powerpoints για να πάρεις ιδέες.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-09-2007, 23:04 35199 σε απάντηση της 35196

    Απ: Βοήθεια! Παρακαλώ.....

    έχω πρόβλημα και στο Wi-Fi αλλά και στον emulator. το μήνυμα που βγάζει είναι ότι δεν βρέθηκε ο server ή δεν έχω πρόσβαση.

    Δοκίμασα να συνδεθώ σε 2 διαφορετικούς sql Server (2000 & 2005) απο emulator & pda αλλά δεν είχα καμία τύχη.

    To 2007 tha ta poume stin agora :)
  •  20-09-2007, 23:16 35200 σε απάντηση της 35199

    Απ: Βοήθεια! Παρακαλώ.....

    Πως συνδέεσαι? Τί connection string χρησιμοποιείς? Αν το πρόβλημα είναι εκεί, δεν μπορούμε να βοηθήσουμε αν δεν μας πεις ποιά είναι αυτά.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  20-09-2007, 23:38 35203 σε απάντηση της 35200

    Απ: Βοήθεια! Παρακαλώ.....

    ένα πράγμα που δοκίμασα...

     Dim myCon As String = "Server=serverIP;Initial Catalog=DBNAME;Integrated Security=True;User ID=sa;Password="
            Using connection As New SqlConnection(myCon)
                Dim queryString As String = "select * from contacts"
                Dim command As New SqlCommand(queryString, connection)
                connection.Open()
                Dim reader As SqlDataReader = command.ExecuteReader()
                While reader.Read()

                    MsgBox(String.Format("{0}, {1}", _
                    reader(0), reader(1)))

                End While

                reader.Close()

            End Using


    μετά δοκίμασα...

    Dim conSQL As New SqlConnection("Data Source=serverIP;Initial Catalog=DBNAME;UID=sa;Password=;")
      If conSQL.State = ConnectionState.Closed Then conSQL.Open()

    και τίποτα απο αυτά δεν πέρασε όταν πήγε να ανοίξει το connection


    To 2007 tha ta poume stin agora :)
  •  20-09-2007, 23:57 35205 σε απάντηση της 35203

    Απ: Βοήθεια! Παρακαλώ.....

    Προσπαθείς να συνδεθείς με λάθος τρόπο. Το If conSQL.State = ConnectionState.Closed δεν ελέγχει εαν το connection είναι κλειστο, αλλά "αναθέτει" το ConnectionState.Closed στο state του conSQL, κοινός δεν κάνει τίποτα. Δοκίμασε απλά να βάλεις ένα conSQL.Open() να δεις εάν δουλεύει σκέτο. Επίσης, το Intergrated Security άφησέ το false. Ακόμη, βάζοντας μόνο την IP του server δεν δουλεύει πάντα, εάν υπάρχουν διαφορετικά instances του sql server στο μηχάνημά σου. Εάν πχ έχεις κάνει εγκατάσταση τον Sql Server Express με instance , το default instance είναι SQLEXPRESS, οπότε θα έπρεπε να είναι κάπως έτσι το string Data Source=ServerIP\\SQLEXPRESS κλπ. Επίσης checkare και για το firewall. Κλείστο και δοκίμασε ξανά.


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  21-09-2007, 00:08 35206 σε απάντηση της 35203

    Απ: Βοήθεια! Παρακαλώ.....

    Το error ποιό ήταν? Αν δεν μας πεις τί error σου γύρισε, δεν υπάρχε περίπτωση να βγάλουμε άκρη. Όπως και να έχει πάντως, δεν μπορείς να έχεις και Integrated Security=True και να δίνεις username/password. Το Integrated Security=True σημαίνει ότι θα συνδεθείςστη βαση ως ο χρήστης που τρέχει την εφαρμογή. Επίσης, είσαι σίγουρος ότι η βάση σου έχει ένα account sa χωρίς password?

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  21-09-2007, 01:06 35207 σε απάντηση της 35206

    Απ: Βοήθεια! Παρακαλώ.....

    Το μήνυμα που βγάζει είναι...
    SQL Server does not exist or access denied.

    Το firewall είναι κλειστό.
     
    και το δοκίμασα με το παρακάτω κώδικα. όπως είπα ο SQL είναι 2000 κανονικός οπότε φαντάζομαι το service λέγεται MSSQLSERVER και δεν έχει pass.

    Dim myCon As String = "Server=MYIP;Initial Catalog=MYDB;Integrated Security=False;User ID=sa;Password="
            Using connection As New SqlConnection(myCon)
                Dim queryString As String = "select * from apoeidh"
                Dim command As New SqlCommand(queryString, connection)
                connection.Open()
                Dim reader As SqlDataReader = command.ExecuteReader()
                While reader.Read()

                    MsgBox(String.Format("{0}, {1}", _
                    reader(0), reader(1)))

                End While

                reader.Close()

            End Using

    ====

    αν βάλω το παρακάτω string τότε βγάζει αυτό... INVALID CONNECTION

    Dim myCon As String = "Server=10.10.1.1\MSSQLSERVER;Initial Catalog=prmworks;Integrated Security=False;User ID=sa;Password="

    To 2007 tha ta poume stin agora :)
  •  21-09-2007, 01:06 35208 σε απάντηση της 35205

    Απ: Βοήθεια! Παρακαλώ.....

    Panagiotis Kefalidis:

    Το If conSQL.State = ConnectionState.Closed δεν ελέγχει εαν το connection είναι κλειστο, αλλά "αναθέτει" το ConnectionState.Closed στο state του conSQL, κοινός δεν κάνει τίποτα.

    [offtopic]

    Tongue TiedTongue Tied Σε VB είναι σωστό το παραπάνω για έλεγχο ισότητας, σε C# απλά δεν θα έκανε compile (καθώς δεν κάνει evaluate σε boolean)

    [ontopic]

    φαντάζομαι έχεις ρυθμίσει τον SQL server να δέχεται remote connections.


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  21-09-2007, 01:22 35209 σε απάντηση της 35207

    Απ: Βοήθεια! Παρακαλώ.....

    Για να μην κάνεις υποθέσεις πρόσθεσε τον SQL Server ως Data Source στο Visual Studio και δες ποιό connection string θα δημιουργηθεί. Δεν έχει νόημα να κοιτάς firewalls και ρυθμίσεις στο PDA αν το connection string σου είναι λάθος. Από το μενού View διάλεξε Server Explorer. Στο Data Connections πάτα δεξί κουμπί και από το μενού διάλεξε Add Connection και μετά Microsoft SQL Server. Βεβαιώσου ότι σαν Data Provider έχει επιλεγεί ο .NET Framework Data Provider for SQL Server και πάτα Continue. Στο dialog box που θα εμφανιστεί διάλεξε το server που θέλεις ή βάλε το IP του, τα username, password. Αν αυτά είναι σωστά, στο combo "Select or enter a database name" θα δεις μία λίστα με τις βασεις του server. Διάλεξε αυτή που θες και πάτα Test Connection για να βεβαιωθείς ότι μπορείς να συνδεθείς. Αν αυτό πετύχει, πάτα το κουμπί Advanced και θα δεις όλες τις παραμέτρους του connection string, καθώς και το ίδιο το connection string ακριβώς πάνω από τα κουμπιά OK, Cancel.

    Όταν βρεις το σωστό connection string, πάρε το και βάλε το στην εφαρμογή σου. Έχε υπόψη πάντως, ότι μπορείς να χρησιμοποιήσεις το data source για να δεις τους πίνακες της βάσης και να κάνεις drag & drop τους πίνακες απευθείας στη φόρμα σου (σε εφαρμογές Winforms τουλάχιστον).


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  21-09-2007, 02:40 35210 σε απάντηση της 35208

    Απ: Βοήθεια! Παρακαλώ.....

    dt008:
    Panagiotis Kefalidis:

    Το If conSQL.State = ConnectionState.Closed δεν ελέγχει εαν το connection είναι κλειστο, αλλά "αναθέτει" το ConnectionState.Closed στο state του conSQL, κοινός δεν κάνει τίποτα.

    [offtopic]

    Tongue TiedTongue Tied Σε VB είναι σωστό το παραπάνω για έλεγχο ισότητας, σε C# απλά δεν θα έκανε compile (καθώς δεν κάνει evaluate σε boolean)

    [ontopic]

    φαντάζομαι έχεις ρυθμίσει τον SQL server να δέχεται remote connections.



    Ε, να αυτά παθαίνω αμα απαντάω γρήγορα.. My bad.., sorry... και τι περίεργη φάση αυτή σε VB να παίζει.. ολο παραξενιές αυτή η γλώσσα.. Nevermind. Big Smile

    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  21-09-2007, 09:45 35214 σε απάντηση της 35210

    Απ: Βοήθεια! Παρακαλώ.....

    Κοίταξε μήπως έχεις μόνο Windows Authentication mode στον SQL Server και για αυτό παίρνεις μύνημα λάθους invalid connection
    Ιωάννης Μανουσάκης
  •  21-09-2007, 10:06 35217 σε απάντηση της 35214

    Απ: Βοήθεια! Παρακαλώ.....

    Αυτό είναι το String που παίρνω απο το wizard μέσω Server Explorer
    "Data Source=SERVERIP;Initial Catalog=MYDB;Persist Security Info=True;User ID=sa"

    και το error που μου βγάζει είναι...
    SQL Server does not exist or access denied.

    το πιο περίεργο είναι ότι αν βάλω το παρακάτω String
    "Data Source=SERVERNAME;Initial Catalog=MYDB;Persist Security Info=True;User ID=sa"

    βγάζει άλλο μήνυμα
    Specified SQL server not found: SERVERNAME

    όσα άρθρα πάντος και να κοίταξα στο google, δεν βρήκα κανένα που να το έχει κάνει και να το έχει μοιραστεί.


    To 2007 tha ta poume stin agora :)
  •  21-09-2007, 10:11 35218 σε απάντηση της 35194

    Απ: Βοήθεια! Παρακαλώ.....

    Ξεκίνα από πιο low level. Έχεις σετάρεις το δίκτυο σου? Το πατροπαράδοτο Ping από το φορητό στον σταθερό το δοκίμασες? Αν δεν έχεις ping δεν μπορείς να βλέπεις και SQL Server.

    Manos
  •  21-09-2007, 10:59 35221 σε απάντηση της 35218

    Απ: Βοήθεια! Παρακαλώ.....

    Συμφωνώ. Αν η σύνδεση πετυχαίνει από τον server explorer δεν έχεις πρόβλημα με το connection string. Δεν πρέπει να έχεις σύνδεση μεταξύ PDA και SQL Server. Πως έχεις κάνει τη σύνδεση? Ποιές είναι οι ρυθμίσεις του Firewall στο development μηχάνημα ΚΑΙ στον SQL Server? Δουλεύει το ping?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Σελίδα 1 από 2 (20 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems