1.select filename from sysdatabases;通过返回的数据库文件名推测
2.use master;  exec xp_cmdshell  'path'检查path环境变量中是否有mssql7如果有应该是它的.

解决方案 »

  1.   

    可以通过注册表得到!
     在 HKEY_LOCAL_MACHINE\software\Microsoft\MSSQLServer\MSSQLServer下,键名为DefaultData,其键值就是你要的内容!
    如果这里没有(因为你没有修改过默认数据库文件目录的话),这样的话,这个目录就应该在
    SqlServer安装目录的\Data下面.我们只要得到SqlServer的安装目录就可以了.同样,通过注册表,HKEY_LOCAL_MACHINE\software\Microsoft\MSSQLServer\Setup\,键名为SQLPath,其键值就是安装目录,在这个目录后加上\data,就是你要的东东了.
      

  2.   

    to guo(正在消化Oracle) :
    第一个方法可行,第二种方法不行c96118() hhsky(方言) 
    通过注册表可以做到,但我想在一个存储过程内部获取该路径,还有办法吧
      

  3.   

    但是,如何在客户端获得服务器端的sql7的安装的data路径?
      

  4.   

    大家帮我测试一下这个存储过程,看有没有例外,如果没有例外,
    这个方法就可以了create proc GetDataPath
    @path varchar(50) output
    as
    select @Path=[filename] from master..sysdatabases
    where name='master'
    set @path=substring(@path,1,len(@path)-11)
      

  5.   

    俺看了master三遍,还是没找到,俺用的是sql server 7.0,
    存储过程,扩展存储过程都查过了,没有,你是在哪儿找到的
      

  6.   

    我没说这两个扩展存储过程是sql自带的呀,可能是共享组件吧.
      

  7.   

    我告诉你是:xp_regread.如需更详细
    ,请发e_mail to [email protected]