Avatar billede sbjerre Nybegynder
12. september 2002 - 18:59 Der er 5 kommentarer og
1 løsning

Ingen udskrift til skærm ved udtræk fra SQL server

Jeg har for nyligt fået hjælp har på stedet ang. en connection og udtræk fra en SQL server.
Nu har jeg fået udskrevet noget fra northwind databasen, hvilken fungere hel find. Problemet er så nu at når jeg skifter database til den jeg egentligt skal bruge vises der intet på skærmen.

mht hvordan koden ser ud henvises til
http://www.eksperten.dk/spm/256446

hvor jeg fik udtræk fra northwind udskrevet i datagrid, nu har jeg ændret COnnection til:

"Provider=SQLOLEDB;Data Source=localhost;uid=dbtest;Initial Catalog=booking"

da databasen hedder "booking" og så lavet et sql der hedder:
OleDbCommand myCommand = new OleDbCommand("select * from tblLokaler", Conn);

da tabellen hedder tblLokaler


Nogen bud på hvad jeg gør galt ??

Det er muligt at jeg ikke har indstillet de rigtige rettigheder i SQL serveren, men da jeg ikke er særlig kendt i denne, vil en evt. forklaring være meget velkommen.


Håber I kan hjælpe, og vær venlig at forklar en evt løsning som om det var til en person der ingen erfaring har med .NET (selv om jeg har en lille smule)



På forhånd tak for hjælpen

/Søren
Avatar billede z42cool Nybegynder
12. september 2002 - 19:51 #1
Hvis det er et rettighedsproblem så vil der blive kastet en exception når du udfører Fill kommandoen. Denne exception kan fortælle dig en del mere om hvad der er galt, men det ser ud som om at du har den inden i en try ... catch blok. Du får derfor fanget din exception og da du ikke selv gør noget i din catch blok, går det upåagtet hen! Prøv eventuelt at udkommentere din try...catch blok så systemet fanger den uhåndterede exception:

//try
//{
  DataSet myDataSet = new DataSet();
  myDataAdapter.Fill(myDataSet, "Customers");
  foo.DataSource = myDataSet.Tables("Customers").DefaultView;
  foo.DataBind();
//}
//catch(e)
//{
// Her fanger du en eventuel exception på Fill metoden og du opdager derfor aldrig at det går galt!
//}
//finally
//{
  conn.Close();
//}
Avatar billede sbjerre Nybegynder
12. september 2002 - 20:57 #2
Aha

Du har fuldstændig ret, den smider en exception pga et "invalid Object Name tblLokaler"

Men hvordan kan det være, når jeg ved at tabellen "tblLokaler" findes i DB ?

/Søren
Avatar billede z42cool Nybegynder
12. september 2002 - 22:49 #3
Er du nu HELT sikker på at der i database serveren på din egen maskine (localhost) i databasen booking er en tabel der hedder tblLokaler??? Husk på at nogle installationer af MSSQL er case-sensitive!
Avatar billede sbjerre Nybegynder
13. september 2002 - 13:41 #4
Har lige kontrolleret med sql serveren og navnet på databasen er tblLokaler, så den skulle være iorden.

Tilgengæld prøvede jeg ligeledes at udtrække fra en anden tabel "sysfiles", hvor det er en anden "owner" der ejer den, og der kan jeg godt udtrække info, så nu er jeg på bar und igen...
Har også prøvet at udtrække fra andre tabeller under samme database (booking) og der får jeg samme exception (invalid object name....)

Hvis du har andre forslag er de meget velkomne...

/Søren
Avatar billede z42cool Nybegynder
13. september 2002 - 14:36 #5
OK! Det der givetvist er sket er, at den bruger der oprettede dine tabeller (bla. tlbLokaler) ikke vra medlem af sysadmin server rollen i SQL server. Når det er tilfældet, så bliver tabellens fuldt kvalificerede navn ikke dbo.tlbLokaler (som er std.), men derimod owner.tlbLokaler hvor owner er navnet på den bruger der opretter den. Du har så to muligheder, du kan fuldt kvalificere dine tabel navne ved at bruge SELECT * FROM owner.tlbLokaler hvor owner igen er navnet på ejeren eller du kan droppe tabellerne, logge på som en bruger der er medlem af sysadmin rollen og derefter oprette dem igen. For mig at se er mulighed to klart at foretrække da du derved aldrig bliver i tvivl om hvem der er owner da det altid er dbo!
Avatar billede sbjerre Nybegynder
13. september 2002 - 19:43 #6
det var satans.....
Du er da for sej..... Nu virker det jo !
Du har nok ret mht. at droppe tabellerne og oprette dem igen, men der er bare det i det at databasen er oprettet vha. et DTS job fra en SQl server der er i drift, så der ligger allerede en helvedes masse data i tabellerne, som ligeledes skal oprettes...

Det må jeg vende tilbage til hvis det bliver aktuelt !
Du skal i hvert fald have tak for hjælpen...
Pointene er velfortjent dine !

Vh Søren
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