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

 

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

VB.NET WinForm Εφαρμογή με SQLOLEDB

Îåêßíçóå áðü ôï ìÝëïò AngleV. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 10-06-2005, 17:02. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  10-06-2005, 15:57 2648

    VB.NET WinForm Εφαρμογή με SQLOLEDB

    Γειά και χαρά σε όλους.

    Έχω φτιάξει μια εφαρμογή η οποία ανοίγει μια βάση δεδομένων Access.
     Ο χρήστης γράφει κάποιες εγγραφές που θέλει, τις διορθώνει, τις εμφανίζει κ.λ.π.

    Μπορεί να μου πεί κάποιος αν είναι δυνατόν να αλλάξω το connection string και από

    Public connectionString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.StartupPath & "\mydatabase.mdb"

    να γίνει

    Public connectionString As String = "Provider=SQLOLEDB;user id=myusername; password=mypassword;" & "initial catalog=mplampla; data source=???????"

    δηλαδή με λίγα λόγια η εφαρμογή να ανοίγει την βάση δεδομένων απο το internet και να καταχωρεί εκεί τις εγγραφές?


     

  •  10-06-2005, 16:25 2649 σε απάντηση της 2648

    Re: VB.NET WinForm Εφαρμογή με SQLOLEDB

    Ώπα! Το δεύτερο connection string είναι για τον SQL Server όχι για την Access. Στον SQL Server το Data Source είναι το όνομα ή το IP του server στον οποίο θέλεις να συνδεθείς. Ο server αναλαμβάνει να ακούσει το κατάλληλο port και να εκτελέσει τις εντολές που παίρνει από αυτό.

    Δυστυχώς η Access δεν έχει server κομμάτι. Το δικό σου μηχάνημα είναι αυτό που ανοίγει ένα αρχείο mdb και διαβάζει ή γράφει κατευθείαν σε αυτό. Στο data source δίνεις το όνομα του αρχείου της βάσης. Αυτό μπορεί να είναι είτε τοπικό αρχείο (π.χ. "C:\myDB.mdb"), ή αρχείο στο δίκτυο (π.χ. \\myserver\myshare\myDB.mdb"), αλλά πάντα θα το διαβάζεις σαν αρχείο. Για να μπορέσεις να το διαβάσεις από ένα μηχάνημα εκτός του δικτύου σου θα πρέπει να μπορείς πρώτα απ' όλα να διαβάζεις αρχεία σε αυτό το μηχάνημα. Αυτό σημαίνει ότι όλα τα ενδιάμεσα firewalls θα έχουν ανοικτά τα κατάλληλα ports για να δουλέψει το file sharing, να είναι η βάση σε ένα share και να έχεις και τα κατάλληλα permission στο άλλο μηχάνημα. Ή μπορείς να στήσεις VPN μεταξύ των δύο μηχανημάτων.

    Με λίγα λόγια. Όχι, δεν μπορείς να ανοίξεις αρχείο Access σε άλλο μηχάνημα χωρίς σημαντική φασαρία


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-06-2005, 16:30 2650 σε απάντηση της 2649

    Re: VB.NET WinForm Εφαρμογή με SQLOLEDB

    Μα δεν θέλω να ανοίξω Access απο άλλο μηχάνημα αλλά την SQL απο το Server για να δουλέψει πάνω της η εφαρμογή.
    Να γράφει δηλαδή στην SQL και όχι στην Access local.

  •  10-06-2005, 16:45 2654 σε απάντηση της 2650

    Re: VB.NET WinForm Εφαρμογή με SQLOLEDB

    Πες το έτσι! Απλά γράφεις το όνομα του server, π.χ. FileServer, myServer, ToPtoma κλπ.

    Public connectionString As String = "Provider=SQLOLEDB;user id=myusername; password=mypassword;initial catalog=mplampla; data source=MyServer"


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-06-2005, 16:53 2655 σε απάντηση της 2654

    Re: VB.NET WinForm Εφαρμογή με SQLOLEDB

    Μάλλον δεν το εξήγησα σωστά.
    Η εφαρμογή βρίσκεται στο δίσκο μου ειναι δηλαδή local εφαρμογή .exe αρχείο σε vb.net φτιαγμένη.

    Αν δηλαδή καλέσω

    Public connectionString As String = "Provider=SQLOLEDB;user id=myusername; password=mypassword;initial catalog=mplampla; data source=MyServer"


    θα παίξει ;
    Κι αν είναι έτσι τι πρέπει να βάλω στο data source.???

    Δηλαδή θα συνδεθεί με την βάση SQL που είναι στο server στην άλλη άκρη της γής ή θα πρέπει να κάνω κάποιο internet establish πρώτα?

    thnks



  •  10-06-2005, 17:02 2656 σε απάντηση της 2655

    Re: VB.NET WinForm Εφαρμογή με SQLOLEDB

    Εννοείς, αν μπορείς να βάλεις κατευθείαν το IP ή όνομα του server? Ναι, μπορείς να γράψεις

    Public connectionString As String = "Provider=SQLOLEDB;user id=myusername; password=mypassword;initial catalog=mplampla; data source=MyServer.mydomain.gr"

    ή
    Public connectionString As String = "Provider=SQLOLEDB;user id=myusername; password=mypassword;initial catalog=mplampla; data source=212.154.246.54"

    φτάνει να είναι ανοικτό το port 1423 στο άλλο μηχάνημα και να μην το κόβει κάποιο ενδιάμεσο firewall. Δεν χρειάζεται να κάνεις κάτι παραπάνω.

    Βέβαια, καλό θα είναι να έχεις permissions στο router του server που να επιτρέπουν μόνο σε εσένα να συνδεθείς, αλλιώς ο server θα είναι ανοικτός σε επιθέσεις από worms όπως το slammer


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