Avatar billede trumf Nybegynder
11. september 2004 - 23:16 Der er 29 kommentarer og
1 løsning

oprettelse af odbc fra web

Hejsa igen

Ved nogen om der findes en måde at oprette en ODBC ved en trigger fra web.
Jeg kan oprette web i IIS'en med en DOS kommando som trigges fra web, så kan det andet vel også lade sig gøre eller hvad ?
Det er et internt web, hvor jeg er logget på serveren med rettigheder...
Avatar billede arne_v Ekspert
11. september 2004 - 23:19 #1
Hvorfor kører du ikke DSNless ?

Jeg mener godt at man kan godt oprette DSN'er kommando linie.
Avatar billede trumf Nybegynder
11. september 2004 - 23:25 #2
Jeg har et web med personlige oplysninger, debitor og kreditor osv, så det skal være så sikkert som muligt, og jeg mener at skulle have læst at ODBC er det sikreste...
Avatar billede arne_v Ekspert
11. september 2004 - 23:28 #3
ODBCCONF utility skulle kunne gøre det
Avatar billede arne_v Ekspert
11. september 2004 - 23:31 #4
Jeg har svært ved at se hvorfor ODBC skulle være mere sikkert end OLE DB
eller hvorfor DSN skulle være mere sikkert end DSNless.

Men DSN kræver selvfølgelig at en med passende adgang har
oprettet DSN.
Avatar billede trumf Nybegynder
11. september 2004 - 23:33 #5
OLEDB er også hurtigere end den ældre ODBC har jeg lige læst...

Er det ikke nemmere at blive hacket hvis man kører DSNless ?
Avatar billede arne_v Ekspert
11. september 2004 - 23:43 #6
Jeg har svært ved lige at se hvordan.

Du konstruerer en connection string enten med DSN eller database beskrivelse. I begge
tilfælde skal du sikre dig at de rigtige data bliver valgt.

Umiddelbart synes jeg ikke at det er nemmere at fuske en database beskrivelse
(Access: stil til MDB fil, SQLServer & MySQL: databae navn) end at fuske
en DSN.

Eneste forskel jeg kan se er database som ikke har en DSN måske er lidt bedre
beskyttet ved DSN brug, fordi så skal der fuskes både style og data for
at komme til dem.

Men jeg er ikke sikkerheds ekspert. Og du skal nok spørge en sådan.

Husk ikke at accepter er X er mere sikkert end Y svar uden at få en
teknisk begrundelse for hvorfor.

Sikkerheds branchen er fuld af eksperter der bare lukker bullshit ud uden
virkeligt at vide noget.
Avatar billede trumf Nybegynder
11. september 2004 - 23:50 #7
Nåh men så skal jeg vel bare have lavet en OLEDB til mySQL...
Avatar billede arne_v Ekspert
11. september 2004 - 23:54 #8
OLE DB er ikke så anvendt til MySQL.

Jeg vil tro at connection string er:

"Provider=MySQLProv;Data Source=xxxx;User Id=xxxx;Password=xxxx;"

men jeg er ikke sikker.
Avatar billede trumf Nybegynder
12. september 2004 - 00:05 #9
hvad er så almindeligt brugt ??? ado eller sådan (husker ikke alt det der db noget)
Avatar billede arne_v Ekspert
12. september 2004 - 00:09 #10
Jeg tror faktisk at man bruger ADO + OLE DB provider for ODBC + ODBC driver.
Avatar billede trumf Nybegynder
12. september 2004 - 00:09 #11
almindeligt når man har sin egen server vel at mærke :-)
Avatar billede trumf Nybegynder
12. september 2004 - 00:10 #12
men så skal man jo også oprette forbindelsen manuelt hver gang man laver et nyt web ikke ?

Det er jo lige det jeg vil prøve at undgå, uden at miste sikkerhed.
Avatar billede arne_v Ekspert
12. september 2004 - 00:11 #13
Det er så vidt jeg ved følgende connection strings:

MyODBC 2.x:

"Driver={mySQL};Server=localhost;Database=xxxx;UID=xxxx;PWD=xxxx;"

MyODBC 3.x:

"DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=xxxx;USER=xxxx;PASSWORD=xxxx;"
Avatar billede arne_v Ekspert
12. september 2004 - 00:14 #14
Hvad mener du med at oprette forbindelsen manuelt ?
Avatar billede trumf Nybegynder
12. september 2004 - 00:18 #15
ligesom jeg kører det nu, så skal jeg jo oprette en DSN manuelt til hver database.
Jeg bruger ODBC 3.51
Avatar billede arne_v Ekspert
12. september 2004 - 00:21 #16
Nej.

ADO med ovenstående connstrings er DSNless.

Der skal ikke oprettes nogle DSN'er.

Hvis du vil køre med DSN'er ser connection anderledes ud. Og så skal du finde
ud af at automatisere oprettelsen af DSN'er med ODBCCONF.
Avatar billede trumf Nybegynder
12. september 2004 - 00:32 #17
OK dette er den DSNless version af det jeg bruger nu:
"DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=xxxx;USER=xxxx;PASSWORD=xxxx;"
Og det skulle være lige så sikkert som DSN... og så slipper jeg for at oprette DNS'en
Så langt så godt.
Men jeg har lige læst noget om at det er hurtigere med OLE DB eller ADO for så kontaktes DB direkte uden først at skulle gennem ODBC eller tilsvarende...
Er det rigtigt forstået ?

Så jeg gætter på at "Driver={mySQL};Server=localhost;Database=xxxx;UID=xxxx;PWD=xxxx;"
er ADO right ?
Avatar billede trumf Nybegynder
12. september 2004 - 00:38 #18
Hov fandt lige dette:

Using DSN-less Method:
Use the following connect string to ADODB.Connection object:
"Driver={MySQL ODBC 3.51 Driver}; Server=servername; Database=dbname; UID=username; PWD=password; Option=3"

Option 3 skulle være vigtig, men der står ikke hvorfor... men det er ADO!

Nu er jeg forvirret. Det er ligesom at være tilbae på skolebænken.
Som du skrev tidligere med x og y, når man har gjort noget i lang tid, så tænker man ikke over det og glemmer hvorfor :-)
Avatar billede arne_v Ekspert
12. september 2004 - 08:58 #19
Begge er ADO bare med forskellige versioner af MyODBC (se også 12/09-2004 00:11:59).
Avatar billede arne_v Ekspert
12. september 2004 - 09:00 #20
Du kan se OPTION her: http://dev.mysql.com/doc/connector/odbc/en/manual.html

(ca. midt p siden)

3=1+2 og

The OPTION argument is used to tell Connector/ODBC 3.51 that the client isn't 100% ODBC compliant. On Windows, one normally sets the option flag by toggling the different options on the connection screen but one can also set this using OPTION connection argument. The following options are listed in the same order as they appear in the Connector/ODBC 3.51 connect screen:
Bit     Description
1     The client can't handle that Connector/ODBC returns the real width of a column.
2     The client can't handle that MySQL returns the true value of affected rows. If this flag is set then MySQL returns 'found rows' instead. One must have MySQL 3.21.14 or newer to get this to work.

Jeg kan ikke vurdere om 3 er nødvendig.
Avatar billede arne_v Ekspert
12. september 2004 - 09:39 #21
Jeg retter lige: hvis du bruger de 2 connection strings fra ASP er de begge ADO.
Avatar billede trumf Nybegynder
12. september 2004 - 11:15 #22
Her kommer lige en liste over fejl jeg får ved de forskellige måder!

Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=" & dbName & "; UID=" & dbUser & "; PWD=" & dbPass & "; Option=3"
og samme uden option.
Conn.Open ConnStr
[MySQL][ODBC 3.51 Driver]Access denied for user: 'xxx@localhost' (Using password: YES)

Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "driver={mysql}; server=localhost; database=" & dbName & "; uid=" & dbUser & ";pwd=" & dbPass & ";option=16386;"
Conn.Open ConnStr
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Jeg har ikke oprettet DSN/Less i ODBC Data Source Manager til databasen for det er jo det jeg kan undgå med DSNLess!
Avatar billede trumf Nybegynder
12. september 2004 - 11:18 #23
Hov, glemte lige en

Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=MySQLProv;Data Source=" & dbName & ";User Id=" & dbUser & ";Password=" & dbPass & ";"
Conn.Open ConnStr

Provider cannot be found. It may not be properly installed.
Avatar billede trumf Nybegynder
12. september 2004 - 11:56 #24
Google er en ven!

odbcconf ledte mig over på en side hvor der står noget om at man med den kan oprette en odbc, men password kan den ikke klare...
Men så var der en der skrev og at gøre det direkte i registreringsdatabasen og der kan det lade sig gøre.
Jeg har kigget lidt på de entries der er der nu, og kan yderligere berette at der ved alle står Option = 3, så den må man jo formode skal være der når man selv skriver DSN/Less

Så jeg har altså fundet ud af hvordan man selv skriver data til regdb, så skal jeg bare have dem importeret...
Avatar billede trumf Nybegynder
12. september 2004 - 12:03 #25
Og det er jo også nemt...
REGEDIT /S pathname

Takker for din ulejlighed, jeg har fået opfrisket en masse siden i går.

Lægger du et svar Arne
Avatar billede trumf Nybegynder
12. september 2004 - 12:53 #26
Ved du forresten hvordan man gemmer en textfil (lavet automatisk med Scripting.FileSystemObject) i binært format ?
Avatar billede arne_v Ekspert
12. september 2004 - 14:04 #27
[MySQL][ODBC 3.51 Driver]Access denied for user: 'xxx@localhost' (Using password: YES)

=> "normalt" adgangs problem
Avatar billede arne_v Ekspert
12. september 2004 - 14:04 #28
Jeg smed et link til hvor alle option bittene er beskrevet
Avatar billede arne_v Ekspert
12. september 2004 - 14:11 #29
Jeg er ikke sikker på at FSO understøtter binære filer.

Men så må man kunne bruge noget Win32 API.
Avatar billede arne_v Ekspert
12. september 2004 - 14:12 #30
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester