SP_Who не возвращает столбец DBName

Мое приложение Delphi подключается к базе данных SQL Server через BDE.
В процессе мое приложение запрашивает SP_Who хранимую процедуру, чтобы получить значение столбца DbName. Но теперь я хочу подключить свое приложение через ODBC к базе данных SQL Server.

Я использую для этого собственный клиентский драйвер SQL Server, но когда мое приложение запрашивает SP_Who, но процедура не возвращает столбец DBName. Почему это? Как я могу получить значение DBName в этом случае? Есть ли другая процедура для получения значения столбца DBName.


person SK9    schedule 23.01.2010    source источник


Ответы (1)


Вы можете получить имя базы данных, используя:

SELECT DB_NAME()

У вас есть столбец DBName, работающий sp_who2 ?

person Mitch Wheat    schedule 23.01.2010
comment
Нет, я также не использую столбец Ge DBName с sp_who2. Select DB_NAME() тоже не работает. Он возвращает пустой столбец. - person SK9; 23.01.2010
comment
@SK9: похоже, это может быть связано с разрешениями. - person Mitch Wheat; 23.01.2010
comment
@ SK9: под какой личностью и ролью работает? - person Mitch Wheat; 23.01.2010
comment
@SK9: SELECT DB_NAME() должен вернуть значение. У вас всегда есть контекст базы данных, даже если он главный. Получаете ли вы какие-либо строки от sp_who? Попробуйте ВЫБРАТЬ @@SERVERNAME - person gbn; 23.01.2010
comment
Я не думаю, что это проблема с правами или разрешениями базы данных, потому что, когда я подключаюсь к нормальной базе данных, используя псевдоним BDE, все вышеуказанные команды работают. Кажется, они не дают никакого значения, когда я подключаюсь через соединение ODBC. Я пропускаю некоторые настройки при создании соединения ODBC. - person SK9; 25.01.2010
comment
каким-то образом, когда я использую собственный клиент сервера ODBC Sql, я не получаю имя БД, когда запрашиваю sp_who. На самом деле я не получаю поле имени пользователя, когда запрашиваю sys.sysprocesses. Но я получаю поле DBID, которое я использовал в этой ситуации. Это просто обходной путь для запуска моего приложения. - person SK9; 26.01.2010