/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MySQL - localhost kontra webhotel (asp.net~
Fra : Kim Bach Petersen


Dato : 11-08-03 19:00

Jeg bruger MySQL med ASP.NET og det går almindeligvis godt, men der ser ud
til at være forskel på min lokale maskine og mit webhotel, selv om
databaserne er lavet på samme definitioner.

Jeg har en række TEXT felter hvor 'Not Null' flaget er sat i stil med:

Formaal text NOT NULL DEFAULT ''

På min egen maskine betyder det, at der returneres en tom streng, hvis
feltet ikke er udfyldt, mens webhotel-serveren returnerer noget andet, som
giver mig en "NO_DATA"-fejl:

"Microsoft.Data.Odbc.OdbcException: NO_DATA - no error information
available"

Jeg er ikke database-ørn nok til at gennemskue, hvad der gør forskellen og
vil meget gerne have forslag til, hvordan jeg får serveren til at returnere
tomme strenge for tomme felter.

Angående asp.net, så er tricket med

MyDataReader("Feltnavn").ToString

er ikke nok, ligesom det heller ikke nytter at teste mod

If MyDataReader("Feltnavn") Is Nothing Then ...

Kim







 
 
Michael Rasmussen (11-08-2003)
Kommentar
Fra : Michael Rasmussen


Dato : 11-08-03 19:11

"Kim Bach Petersen" <sunsite@kensho.dk> wrote:

>Jeg har en række TEXT felter hvor 'Not Null' flaget er sat i stil med:
>
> Formaal text NOT NULL DEFAULT ''
>
>På min egen maskine betyder det, at der returneres en tom streng, hvis
>feltet ikke er udfyldt, mens webhotel-serveren returnerer noget andet, som
>giver mig en "NO_DATA"-fejl:
>
> "Microsoft.Data.Odbc.OdbcException: NO_DATA - no error information
>available"

Felter defineret med NOT NULL kan ikke være tomme, så det er
web-hotellets server der opfører sig korrekt.

Du og web-hotellet kører formentlig med forskellige versioner af
MySql.

<mlr>

Jimmy (11-08-2003)
Kommentar
Fra : Jimmy


Dato : 11-08-03 19:16


"Michael Rasmussen" <mic@NO_SPAMdou.dk> wrote in message
news:vsmfjvg8n0cu1pbncpboskv56m8c77vil7@4ax.com...


> Felter defineret med NOT NULL kan ikke være tomme, så det er
> web-hotellets server der opfører sig korrekt.


Så vidt jeg er orienteret betyder NOT NULL, at feltet ikke kan indeholde den
særlige værdi NULL.

Et felt defineret som NOT NULL kan således godt indeholde den tomme streng
''.

Mvh
Jimmy



Troels Arvin (11-08-2003)
Kommentar
Fra : Troels Arvin


Dato : 11-08-03 19:48

On Mon, 11 Aug 2003 20:15:56 +0200, Jimmy wrote:

> Et felt defineret som NOT NULL kan således godt indeholde den tomme streng
> ''.

Korrekt - med mindre éns databasesystem er Oracle: Oracle opfatter en tom
streng og NULL som værende identiske.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Kim Bach Petersen (11-08-2003)
Kommentar
Fra : Kim Bach Petersen


Dato : 11-08-03 19:19

Michael Rasmussen wrote:

>>Formaal text NOT NULL DEFAULT ''
> Felter defineret med NOT NULL kan ikke være tomme,
> så det er web-hotellets server der opfører sig korrekt.

Skulle et felt defineret med NOT NULL ikke kunne indeholde en tom streng =
"" ?

En /tom/ streng er vel netop ikke det samme som NULL?

Så vidt jeg har forstået er NULL ensbetydende med /ingen/ streng og ikke en
/tom/ streng - men det har jeg måske misforstået?

> Du og web-hotellet kører formentlig med forskellige
> versioner af MySql.

Korrekt, jeg kører 3.23.49-nt, webhotellet kører 4.0.12-max-debug

Kim



Michael Rasmussen (11-08-2003)
Kommentar
Fra : Michael Rasmussen


Dato : 11-08-03 19:42

"Kim Bach Petersen" <sunsite@kensho.dk> wrote:

>Michael Rasmussen wrote:
>
>>>Formaal text NOT NULL DEFAULT ''
>> Felter defineret med NOT NULL kan ikke være tomme,
>> så det er web-hotellets server der opfører sig korrekt.
>
>Skulle et felt defineret med NOT NULL ikke kunne indeholde en tom streng =
>"" ?

Jeg overså lige det der med DEFAULT.

Problemet er at du bruger 'text' felter og i følge MySql manualen kan
'text' og 'blob' felter ikke have default values....

http://www.mysql.com/doc/en/BLOB.html

Så du kommer nok til at ændre feltet til f.eks varchar


<mlr>

Jesper Stocholm (11-08-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 11-08-03 19:12

Kim Bach Petersen wrote :

> Jeg bruger MySQL med ASP.NET og det går almindeligvis godt, men der
> ser ud til at være forskel på min lokale maskine og mit webhotel, selv
> om databaserne er lavet på samme definitioner.

Er versionerne af din mySql-database den samme som hos din udbyder? Er
versionen af din odbc-driver til mysql (ikke dotnet) den samme som hos
din udbyder? Odbc.Net bruger jo din native odbc-driver til at opnå adgang
til databasen.

> Jeg har en række TEXT felter hvor 'Not Null' flaget er sat i stil med:
>
> Formaal text NOT NULL DEFAULT ''
>
> På min egen maskine betyder det, at der returneres en tom streng, hvis
> feltet ikke er udfyldt, mens webhotel-serveren returnerer noget andet,
> som giver mig en "NO_DATA"-fejl:
>
> "Microsoft.Data.Odbc.OdbcException: NO_DATA - no error information
> available"

Denne fejl er en "klassiker" i Odbc.Net-sammenhænge [1] og opstår pga
typeset-uoverensstemmelser i Odbc.Net dataprovideren. Se evt

http://www.dotnet247.com/247reference/msgs/12/60495.aspx

> Jeg er ikke database-ørn nok til at gennemskue, hvad der gør
> forskellen og vil meget gerne have forslag til, hvordan jeg får
> serveren til at returnere tomme strenge for tomme felter.
>
> Angående asp.net, så er tricket med
>
> MyDataReader("Feltnavn").ToString
>
> er ikke nok, ligesom det heller ikke nytter at teste mod
>
> If MyDataReader("Feltnavn") Is Nothing Then ...

Tricket er beskrevet i artiklen jeg nævnte ovenfor, og ellers er odbcnet-
gruppen under microsoft.public nok et godt sted at få fat i de drenge,
der koder selve dimsen i Redmond.

[1] Hvis man ellers kan tale om "klassikere" i forhold til et produkt med
mindre end 2 år på bagen.

--
Jesper Stocholm - http://stocholm.dk
www.asp-faq.dk : FAQ for dk.edb.internet.webdesign.serverside.asp
www.usenet.dk/netikette/citatteknik.html : Skriv under det du svarer på
Svar til gruppen og ikke til mig privat !

Kim Bach Petersen (11-08-2003)
Kommentar
Fra : Kim Bach Petersen


Dato : 11-08-03 21:12

Jesper Stocholm wrote:

>> "Microsoft.Data.Odbc.OdbcException: NO_DATA - no error
>> information available"
> Denne fejl er en "klassiker" i Odbc.Net-sammenhænge [1] og opstår pga
> typeset-uoverensstemmelser i Odbc.Net dataprovideren. Se evt
> http://www.dotnet247.com/247reference/msgs/12/60495.aspx

Løsningen er altså at undgå tomme strenge - for jeg kan ikke satse på et
helt eksakt setup, det bliver for sårbart.

Ak, der er altså ikke andet for end at finde en kreativ måde at repræsentere
en tom streng på...

Tak for svarene!

Kim



Thomas Due (12-08-2003)
Kommentar
Fra : Thomas Due


Dato : 12-08-03 08:59

Kim Bach Petersen wrote:

> Jesper Stocholm wrote:
>
> >> "Microsoft.Data.Odbc.OdbcException: NO_DATA - no error
> >> information available"
> > Denne fejl er en "klassiker" i Odbc.Net-sammenhænge [1] og opstår
> > pga typeset-uoverensstemmelser i Odbc.Net dataprovideren. Se evt
> > http://www.dotnet247.com/247reference/msgs/12/60495.aspx
>
> Løsningen er altså at undgå tomme strenge - for jeg kan ikke satse på
> et helt eksakt setup, det bliver for sårbart.
>
> Ak, der er altså ikke andet for end at finde en kreativ måde at
> repræsentere en tom streng på...
>
> Tak for svarene!
>
> Kim

Du kunne jo definere en default værdi for alle strenge:

varchar(xx) NOT NULL DEFAULT ''

Det er et hack, men det burde jo da virke.

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S

Kim Bach Petersen (12-08-2003)
Kommentar
Fra : Kim Bach Petersen


Dato : 12-08-03 11:20

Thomas Due wrote:

> Du kunne jo definere en default værdi for alle strenge:
> varchar(xx) NOT NULL DEFAULT ''

Ja, men det hjælper ikke så meget i dette tilfælde, for varchar giver kun
plads til 255 tegn.

Kim



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408521
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste