Avatar billede oleko Nybegynder
22. februar 2008 - 08:45 Der er 5 kommentarer

Stored Procedure problem med security ellerr tabelnavn

Jeg har netop overført en MySql database fra mit lokale miljø til et hosting miljø og forsøger så at udføre en stp fra  ASP.Net 2.0. Der er ikke noget problem med connection string og tilladelser for stp  bliver rigtig nok kaldt, men den kommer ud med en fejlmeddelelse
Table 'xxx_xx.dk.zzz' doesn't exist
selvom både databasen og tabellen eksisterer.
værdien xxx_xx.dk er databasenavnet, som har bidestreg i navnet og ender med .dk
zzz er tabelnavnet.
Det eneste der sker i stp er en SELECT * FROM zzz;
Det giver samme resultat når jeg logger ind på serveren via min frontend og kører stp derfra.
Det giver også samme resultat uanset man bruger DEFINER eller INVOKER i SQL SECURITY.
Avatar billede michael_stim Ekspert
22. februar 2008 - 08:53 #1
Du må ikke have . (punktum) i dit databasenavn.
Avatar billede oleko Nybegynder
22. februar 2008 - 09:04 #2
Undskyld, jeg skrev forkert.
Databasenavnet er xxx_xx altså uden .dk.
Fejlmeddelelsen ligeså.
Men fejlen er den samme.
Avatar billede oleko Nybegynder
22. februar 2008 - 13:23 #3
Jeg fandt selv ud af det.
Grunden er at tabelnavne åbenbart er case sensitive på serveren.
Jeg har ellers hørt, at default værdi i windows 2003 server miljø skulle være, at det ikke er case sensitive.
Avatar billede michael_stim Ekspert
22. februar 2008 - 13:30 #4
Burde det heller ikke være.

SELECT * FROM TABEL1...
burde give samme resultat som:
SELECT * FROM tabel1...
Avatar billede oleko Nybegynder
22. februar 2008 - 14:11 #5
Det er ikke altid det samme.
Se f.eks.
http://andrewdashin.com/mysql-case-sensitivity.aspx
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
Computerworld tilbyder specialiserede kurser i database-management

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