Tagi na forum.

Windows 14206 SQL Server 2132
sieci 6796 Windows XP 1922
SQL 6578 Outlook 1838
SBS 3868 Uprawnienia 1777
Windows 2003 2781 IIS 1636
Windows Server 2588 Office 1516
DNS 2315 Skrypt 1499

pokaż wszystkie tagi na forum

MSSQL 2000 baza danych

maks 2011-07-12 20:38:59
0
avatar
 
 
Heja,
 
do szkoły robię na zaliczenie projekt gdzie muszę:
- stworzyć bazę danych (to już mam)
- stworzyć tabele z jakimiś rekordami (mam)
- stworzyć trzech użytkowników (mam)
- stworzyć w Accessie 2010 formularz (mam), który będzie łączył się z bazą MSSQL (mam zrobiłem poprzez ODBC - uwierzytelnia po loginie do domeny na kompie)
- w formularzu w zależności od zalogowanego użytkownika po wpisaniu danych ma się tworzyć oddzielna tabela z nazwa uzytkownika. (nie mam)
Chodzi o to aby każdy user miał osobną tabelę do której będzie zapisywał dane.
Tylko jak to połączyć aby korzystając z jednego formularza, i polączenia ODBC (może to jest już źle pomyślane?) uzyskać taki wynik? może trzeba w ogóle z innej strony się tym zająć?
 
Pozdrawiam
Maks
tagi: ODBC


marek_adamczuk  2011-07-12 21:55:54 #1
0
avatar Ekspert WSS
 
 
To, żeby każdy użytkownik miał swoją tabelę to już jest źle pomyślane. Do tworzenia tabel trzeba dać dość spore uprawnienia, czego zwykli użytkownicy mieć nie powinni.
 
Jeśli jednak projekt to zakłada (takie masz zewnętrzne wymaganie), do dobrze byłoby użyć schematów. W SQL 2000 to jeszcze nie do końca dobrze funkcjonuje, ale wydaje mi się że to nie z tym SQL-em masz do czynienia. SQL 2000 to produkt sprzed 11 lat, a są już 3 nowsze wersje i czwarta w drodze. Powiedzmy jednak że masz sql i zalogowałeś się do aplikacji jako użytkownik henio. SQL 2000 założył dla niego "schemat" henio (zakładamy że nie jest sysadminem. Zatem jeśli ma on prawo create table, to np polecenie.
 
CREATE TABLE mojedane (id int identity primary key,
dana varchar(1000) N
)
 
założy tabelę henio.mojedane.
 
SELECT * FROM mojedane
 
odczyta z ponownie tabeli henio.mojedane.
Jeśli następnie zaloguje się użytkownik zuza, to create table założy odpowiednio tabelę zuza.mojedane.
 
Także robiąc formularz operujący na tabeli mojedane (bez kwalifikowania schematem) osiągniemy spodziewany efekt.
 
To podejście nie ma dużo wspólnego z porządną wydajnością ani z porządnym bezpieczeństwem, ale na zaliczenie może wystarczy.
 
Upewnij się, czy to na pewno SQL 2000. Powyżej schematy funkcjonują już normalnie i trzeba zadbać o założenie takiego schematu i przypięcie użytkownikowi. No i oczywiście musisz zapewnić możliwość logowania się, a nie zakodować w źródle danych coś na sztywno. Od SQL 2005 masz alternatywę w postaci execute as.
 
 --__________ Pozdrawiam Marek Adamczuk

__________
Pozdrawiam
Marek Adamczuk

maks  2011-07-27 17:06:05 #1.1
0
avatar
 
 
Hej,
 
zmieniłem SQL na 2008 wersja 10.0.2531.
 
Jak w tej wersji można za pomocą formularza w Accessie zrobić "panel do logowania", tak aby user logował się do bazy SQL do jednej tabeli i z niej korzystał?
 
pozdro
Maks

Udziel odpowiedzi

avatar
Treść wpisu:

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Idź na górę strony