Results 1 to 7 of 7

Thread: SQL-server geeft geen toegang tot een aangemaakte tabel

  1. #1
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    363

    SQL-server geeft geen toegang tot een aangemaakte tabel

    Hoi,

    Een van onze applicaties biedt de mogelijkheid om tabellen aan te maken om "externe" data te kunnen opslaan in de database. Dat gebeurt door een table create query te genereren om de data te kunnen opslaan. Nu gaat dat via een simpele SQL statement in de trant van: CREATE TABLE xxxx ( veld1 VARCHAR(20), veld2 INTEGER).
    De bedoeling is dat na aanmaak de nieuwe tabel toegankelijk is voor iedere gebruiker van de applicatie. Als de applicatie echter draait onder SQL-server instantie met Windows authentication dan is de nieuw aangemaakte tabel echter alleen toegankelijk voor degene die was ingelogd op het moment van aanmaken. Om de tabel vervolgens zichtbaar te maken voor alle gebruikers is een al dan niet virtuele gang naar de afdeling ICT nodig waar iemand met een paar muisklikken de zaak weer fixed.

    Zijn er mogelijkheden om tabellen direct via een SQL-query in het gedeelde schema/space/section (oid) aan te maken, bv. door de query anders vorm te geven?

  2. #2
    Door in plaats van alleen `tabelnaam` het schema op te geven, dus `schemanaam.tabelnaam`, of zelfs volledig inclusief de naam van de database, zal je de tabel in het specifieke schema maken. Dat betekent overigens ook dat de gebruiker rechten moet hebben om dat te doen! M.i. is dat een slechte zaak, en wil je het aanpassen van je database laten gebeuren in een gecontroleerd proces, en de applicatie zelf zo min mogelijk rechten geven op je database.

    Anyway, voor de volledige syntax, zie:
    https://docs.microsoft.com/en-us/sql...ql-server-2017
    1+1=b

  3. #3
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    363
    Ah, dank!

    In dit geval is het niet zozeer de gebruiker als wel de applicatie die de veranderingen aanbrengt. De gebruiker verwijst slechts naar een extern bestand en de applicatie verzorgt de aanmaak van de nieuwe tabel en het overpompen van de relevante informatie. In dat opzicht is het een gecontroleerd proces, alle business logic zit in de applicatie.
    Hiervoor draaide bij deze klant e.e.a 8 jaar probleemloos via MS-SQL-server authentication. Omdat er daarbij maar 1 formele gebruiker is (de applicatie zelf) trad het probleem daarbij niet op . De applicatie regelt verder de rechten van de gebruikers. Vanwege ambtelijke protocollen is men overgestapt naar een windows authentication.

  4. #4
    Ik had duidelijker moeten zijn. Ik bedoelde de database-gebruiker, de credentials waarmee je verbindt met de database. Het zou mijn voorkeur hebben dat een applicatie zo min mogelijk kan op de database, dus alleen het hoognodige, en dat je een goede scheiding hebt tussen gebruik en beheer. Aanpassen van de database is een beheertaak. Ik zou er daarom doorgaans voor kiezen dat de applicatie alleen de data kan bewerken, en dat een beheer-account (aldanniet ook via een applicatie) de wijzigingen aan de structuur kan doen.

    Zeker als het nu werkt op Windows authenticatie, dan betekent dat dat elke gebruiker in het netwerk de credentials heeft om in de database in te loggen én dit soort structurele wijzigingen te doen. Je zal er maar een slimmerd bij hebben die een database-tool downloadt en gaat rommelen in je database.
    Maar goed, ik neem aan dat daar in een dergelijke ambtelijke omgeving wel over nagedacht is.

    Maar goed, het is ook niet ongebruikelijk dat een applicatie zelf die migraties doet.
    1+1=b

  5. #5
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,328
    Quote Originally Posted by GolezTrol View Post
    ik neem aan dat daar in een dergelijke ambtelijke omgeving wel over nagedacht is.
    Ik ben, lang geleden, zelf ambtenaar geweest, maar "Ambtelijk" en "Nadenken" in dezelfde zin gebruiken zou ik zelfs niet durven.
    TMemoryLeak.Create(Nil);

  6. #6
    Ik ben, lang geleden, zelf ambtenaar geweest, maar "Ambtelijk" en "Nadenken" in dezelfde zin gebruiken zou ik zelfs niet durven.
    Daarom ben je nu geen ambtenaar meer Peter, die zijn het gevaarlijkst

  7. #7
    Senior Member
    Join Date
    Mar 2002
    Location
    Edam
    Posts
    363
    Ik vrees dat het volgen van het protocol hier inderdaad ook belangrijker is dan het doel. ... het "zijn" van het database systeem is tenslotte vele malen belangrijker dan de inhoud.... straks denken mensen nog dat een database niet meer is dan een instrument en de afdeling ICT een faciliterend orgaan zou moeten zijn... het moet echt niet gekker worden.

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •