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

 

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

Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

Îåêßíçóå áðü ôï ìÝëïò PhillipMorris. Τελευταία δημοσίευση από το μέλος KelMan στις 10-10-2006, 08:53. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-10-2006, 20:28 18265

    Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

    Μετά κόπων και βασάνων, πάνω από 10 ημερών αναζητήσεις στο δίκτυο και διάβασμα κατάφερα ο άμοιρος να βρω την λύση που ζητούσα :

    Έδωσε λοιπόν η Microsoft την έκδοση SQL Server Everywhere (http://www.microsoft.com/sql/CTP_sqlserver2005everywhereedition.mspx) που υπόσχεται υποστήριξη για φορητές συσκευές αλλά και για το Desktop. Επιτέλους, σκέφτηκα, θα την τελειώσω εκείνη την ριμάδα την εφαρμογή που ήθελα για να μεταφέρω βάσεις Access MDB και SQL Server 2000 στο PDA.

    Ωραία έως εδώ. Ψάχνω, βρίσκω, εγκαθιστώ και δοκιμάζω. Όλα τέλεια στις φορητές μου συσκευές (Fujitsu Siemens N560, Compaq iPaq) , οι βάσεις που δημιουργώ συνδέονται με τον SQL Server Mobile και μάλιστα "παίζει" και το Query Analyzer 3 όπου μπορώ να δω τα σχήματα των βάσεων και να τρέχω τα SQL Script.

    Μάλλον θα τα καταφέρω μονολογώ, εάν μπορέσω να μετατρέψω και τις Desktop βάσεις μου σε αρχεία SDF που υποστηρίζει ο SQL Server Mobile. Για "καλή" μου τύχη βρίσκω στο δίκτυο αναφορές που μιλούν για σύνδεση των βάσεων SDF χρησιμοποιώντας ADO από την VB.Net αλλά και από την VB6.

    Έκατσα λοιπόν ένα απόγευμα και μέσω του ADOX κατάφερα να μετατρέψω μια βάση MDB της Access σε βάση SDF. Όταν λέω μετατροπή εννοώ το σχήμα της βάσης (πίνακες, πεδία και ερωτήματα). Μεταφέρω το καινούργιο αρχείο στο PDA, δοκιμάζω και παίζει. Τέλεια, φαντάστηκα αλλά μάλλον το κακό με περίμενε στην γωνία.

    Όταν προσπάθησα να μεταφέρω τα δεδομένα την MDB βάσης στην "φορητή" SDF βάση κατάλαβα πως το αντικείμενο ADO που συνδέεται στην SDF βάση κάνει μόνον προβολή (Fordwardonly) και μάτωσα ειλικρινά χωρίς να καταφέρω να κάνω έστω κι ένα INSERT ή UPDATE.

    Υποθέσεις :

    1. Μάλλον δεν ξέρω τι μου γίνεται, έχω μπερδευτεί αφάνταστα και θα τα παρατήσω λίαν συντόμως.

    2. Η Microsoft κάτι μας κρύβει

    3. Η Microsoft κάτι μας ετοιμάζει

    4. Κάποιος από εσάς έχει βρει την λύση και θα με βοηθήσει να γλυτώσω τον γκρεμό.

    Για την ιστορία σας παραθέτω το Connection String που ανοίγει SDF αρχεία.

    pConn.ConnectionString = "PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0;Data Source=<Η βάση σας>;Persist Security Info=True;SSCE:Database Password=<Ο Κωδικός σας>"

    Παρακαλώ για τις απόψεις σας.

  •  08-10-2006, 21:16 18268 σε απάντηση της 18265

    Απ: Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

     PhillipMorris wrote:

    Όταν προσπάθησα να μεταφέρω τα δεδομένα την MDB βάσης στην "φορητή" SDF βάση κατάλαβα πως το αντικείμενο ADO που συνδέεται στην SDF βάση κάνει μόνον προβολή (Fordwardonly) και μάτωσα ειλικρινά χωρίς να καταφέρω να κάνω έστω κι ένα INSERT ή UPDATE.

    Αυτό πως ακριβώς προσπάθησες να το κάνεις;

    Οι βάσεις του SQL Server Everywhere μπορούν να χρησιμοποιηθούν κανονικά και για εγγραφή και για ανάγνωση, απλά δεν υποστηρίζουν views, stored procedures, UDFs, tiggers, κλπ. Ίσως το πρόβλημα να βρίσκεται στον κώδικα που έγραψες. Μπορείς να κάνεις post ένα δείγμα να δούμε;

    Επιπρόσθετα, για το συγχρονισμό με Access ρίξε μια ματιά σε αυτό: http://blogs.msdn.com/sqlservereverywhere/archive/2006/08/29/729730.aspx


    Vir prudens non contra ventum mingit
  •  09-10-2006, 16:41 18311 σε απάντηση της 18268

    Απ: Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

    Καταρχήν, ευχαριστώ για το ενδιαφέρον.

    Σου παραθέτω τον κώδικα σε VB6 :

    1η ΠΡΟΣΠΑΘΕΙΑ

    Dim ADOCon1 As ADODB.Connection

    Dim rs1 As ADODB.Recordset

    strConnection = "PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0;Data Source=" & DBSource$ & ";Persist Security Info=False;SSCE:Database Password=xxxx"

    Set ADOCon1 = New ADODB.Connection

    ADOCon1.Open strConnection

    Set rs1 = New ADODB.Recordset

    Sql$ = "SELECT * FROM CustomersInfo"
    rs1.Open Sql$, ADOCon1, adOpenDynamic, adLockPessimistic, adCmdText

    rs1.AddNew

    2η ΠΡΟΣΠΑΘΕΙΑ

    Dim ADOCon1 As ADODB.Connection

    Dim rs1 As ADODB.Recordset

    strConnection = "PROVIDER=Microsoft.SQLSERVER.MOBILE.OLEDB.3.0;Data Source=" & DBSource$ & ";Persist Security Info=False;SSCE:Database Password=xxxx"

    Set ADOCon1 = New ADODB.Connection

    ADOCon1.Open strConnection

    Set rs1 = New ADODB.Recordset

    rs1.Open "CustomersInfo", ADOCon1, adOpenDynamic, adLockPessimistic, adCmdTable

    rs1.AddNew

    Και στις 2 προσπάθειές μου ο κώδικας σταματάει στο AddNew.

    Εάν κάνω κάπου λάθος please help...

    Το link που έστειλες το είχα υπόψη μου αλλά :

    1. Νομίζω πως θέλει IIS εγκατεστημένο στο PC. (μου καταρίπτει το zero config)

    2. Δεν καταλαβαίνω σταγόνα από C#. (και όσες φορές προσπάθησα να μάθω απέτυχα παταγωδώς.)

    Κλείνοντας θα ήθελα να πω πως το ιδανικό για εμένα θα ήταν να μπορώ να ανοίξω την βάση SDF της φορητής συσκευής κατευθείαν από μια Desktop εφαρμογή μέσω ActiveSync / Wi-Fi / Bluetooth / ή οποιαδήποτε άλλη offline λογική. Να μπορούσα δηλαδή να συνδεθώ στον SQL Server Mobile της φορητής συσκευής και να στέλνω εντολές INSERT / UPDATE / DELETE.

    Και πάλι ευχαριστώ...

  •  10-10-2006, 01:41 18339 σε απάντηση της 18311

    Απ: Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

    Δεν είχα καταλάβει ότι προσπαθούσες να υλοποιήσεις τη λύση με VB6 (έκανες post στο "Managed Code"). Δεν ξέρω τι υποστηρίζει και τι δεν υποστηρίζει ο OLEDB provider, είναι πολύ πιθανό πράγματα να μην δουλεύουν δεδομένου ότι ακόμα είναι CTP.


    Vir prudens non contra ventum mingit
  •  10-10-2006, 08:40 18343 σε απάντηση της 18265

    Απ: Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

    Πάντως από τα λόγια σου καταλαβαίνω πως εάν δοκιμάσω σε VB.NET θα δουλέψει. Έτσι δεν είναι ;
  •  10-10-2006, 08:53 18344 σε απάντηση της 18343

    Απ: Απο Access .MDB σε SQL Server Mobile .sdf - Τραγωδία

    Ναι, έχω δουλέψει τον SQL Server Everywhere με ADO.NET και δεν υπάρχει κανένα πρόβλημα.
    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems