Παράδειγμα ....
ξεκινάει η εφαρμογή και υπάρχει ένα global adodb connection που είναι η βάση στην οποία συνδέεται η εφαρμογή.
πάει λοιπόν ο προγραμματιστής και λέει :
db.connectionstring = "Provider=SQLOLEDB.1;Password=xxxx;User ID=yyyy;Initial Catalog=MYDB;Data Source=.;"
db.open
πολύ ωραία .... ανοίγει η DB και όλα καλά ....
υπάρχει λοιπόν μία φόρμα μέσα στο όλο project η οπόια έχει ένα datacombo το οποίο είναι συνδεδεμένο με ένα ADODC control ....
ξαναλέει λοιπόν ο χρήστης .....
adodc1.connectionstring = db.connectionstring
adodc1.recordsource = "select id,name from zzzzzz"
adodc1.refresh
και όλα καλά και ωραία ...... αυτή η πρακτική παίζει πολύ ωραία σε 98-millenium-nt-2000-2003-xp ..... όχι όμως σε vista !!!!!!
στα Vista την ώρα του refresh του adodc παίρνεις ένα ωραίο μύνημα που λέει login failed for user yyyy !
αν όμως αλλάξεις την γραμμή που ορίζεις το connectionstring του adodc και του πείς
adodc1.connectionstring = "Provider=SQLOLEDB.1;Password=xxxx;User ID=yyyy;Initial Catalog=MYDB;Data Source=.;" ... τότε είναι μια χαρά !!!!!
θα μου πείς ποια είναι η διαφορά ????
θεωρητικώς καμία ... αφού περνάω το connectionstring σε ενα connection, το connection το ανοίγω, και μετά μεταφέρω το connectionstring σε ένα άλλο connection ..... θεωρητικώς μεταφέρω το ίδιο πράγμα συνέχεια....
το πρόβλημα είναι οτι το connectionstring που επιστρέφεται απο το adodb.connection περιέχει και κάποιες επιπλέον πληροφορίες σχετικά με το connection που στα vista κάνουν το adodc control να σκάει...
π.χ.
sub sample
dim db as new adodb.connection
dim x as string
db.connectionstring ="db.connectionstring = "Provider=SQLOLEDB.1;Password=xxxx;User ID=yyyy;Initial Catalog=MYDB;Data Source=.;"
db.open
x=db.connectionstring
msgbox x
end sub
το αποτέλεσμα που θα πάρετε είναι
x=Provider=SQLOLEDB.1;Password=xxxx;User ID=yyyy;Initial Catalog=MYDB;Data Source=.;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=zzzzzz;Use Encryption for Data=False;Tag with column collation when possible=False
ε .. αυτές οι επιπλέον πληροφορίες κάνουν το control να σκάει .....
αυτό για να μην αγχωθείτε αν δοκιμάσετε να τρέξετε εφαρμογές με adodc σε vista.....
Seretis Isidoros
----------------------
Join the army
Travel the world,
Meet interesting people
And kill them.