Login failed for user '(null)'

0

Napisałem prosty programik do łączenia się z baza SQL ( mssql 2000 ), zainstalowałem sobie ten serwer w domu i łączy się bez problemu, gdy poszedłem do kumpla do pracy (ma małą firmę i bazę mssql 2000 ) przy łączeniu wyskakuje mi takie okienko "Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection", przy logowaniu podaje user i haslo uzytkownika bazy, który ma dostęp do tej bazy.
Bez problemu natomiast łącze się z tą bazą programem "SQL Manager 2005".

Proszę o pomoc.

0

Nic mi to nie mówi , dziwne jest ze tym programem ms manager działa.

0

Witam, napisz jaki mechanizm dostępu do bazy użyłeś, miałem ten sam problem przy BDE.
Pozdro

0

Użyłem komponentów ADO, a ty czego użyłeś możesz podać jakiś przykładowy kod.

0

No Hejka, ja do swojej aplikacji użyłem standardowego (już wysłużonego ;) ) BDE, do połączenia z bazą wykorzystałem komponent Database, wygląda to tak:

Database1.AliasName := pr_aliasname;
Database1.DatabaseName := pr_databasename;
Database1.Params.Values['user name'] :=pr_username;
Database1.Params.Values['password'] :=pr_password;
Database1.LoginPrompt:=False; // niech nie pyta o login i hasło
Database1.Connected:=true;

Tak dla wyjaśnienia zmienne z prefiksem pr_ to parametry pobierane z pliku konfiguracyjnego ini, i teraz chyba najważniejsze/najdziwniejsze...
Na początku moja aplikacja chodziła na bazie informixa, pod systemem miałem skonfigurowane połączenie odbc o jakiejś tam nazwie, tą właśnie nazwę przypisywałem do
Database1.DatabaseName a do Database1.AliasName przypisywałem jakiś głupoty typu ?aaa? i wszystko hulało, później musiałem bazę przenieść na MSSQL, identycznie wykreowałem połączenie w odbc dajmy na to nazwa2 (test połączenia przeszedł pozytywnie)
lecz gdy nazwę2 przypisałem do Database1.DatabaseName dostawałem komunikat
?Login failed for user '(null)'...?
Rozwiązanie polegało na tym iż nazwę bazy przypisałem do Database1.AliasName a do
Database1.DatabaseName przypisałem ?autentyczną? nazwę bazy jaka jest wykreowana pod mssql.
Moje błędy wynikają z niewiedzy, a do wszystkiego dochodzę metodą prób i błędów.
Pozdro hej

0

Ale u mnie musi być weryfikacja usera i hasła gdyż inaczej do bazy się nie zaloguje. Co trzeba doadać do tego kodu co dałeś czytałem że jakieś ID czy coś i trusted_connection.

0
keinxor napisał(a)

Database1.LoginPrompt:=False; // niech nie pyta o login i hasło

Jak chcesz zeby pytał o login i haslo to wystarczy Database1.LoginPrompt:=True;

0

A jak to zrobić za pomocą k omponentu ADO, bo w BDE ten alias to trzeba podać ścieżke do bazy a ja jej nie znam.

0

Witaj. Nie podajesz dosłownej scieszki tylko kreujesz pod systemem źródło danych odbc, start->ustawienia->panel sterowania->narzędzia administracyjne->źródła danych(odbc) następnie wybierasz zakładke Systemowe DNS tam masz knefel dodaj, dajesz na niego wyskakuje ci lista sterowników do baz danych wybierasz dla ciebie właściwy (SQL Server) dalej dajesz knefel zakończ, masz kolejne okno wpisujesz nazwe jaka bedzie widniała pod systemem (w zasadzie to jest chyba alias) wybierasz serwer i to wszystko, teraz przez bde wskazujesz na to źródło danych i wszystko gra.
pozdro hej

1 użytkowników online, w tym zalogowanych: 0, gości: 1