如何包含数据库位置

ZDNet软件频道 时间:2004-03-22 作者:Builder.com |  我要评论()
本文关键词:sqltips
有些时候你的应用程序需要知道你数据库详细的路径。有代表性的应用程序需要这个信息,但是,有时候,你可能需要在存储过程中需要它。
本文译自Builder.com,未经许可请勿转载

  有些时候你的应用程序需要知道你数据库详细的路径。有代表性的应用程序需要这个信息,但是,有时候,你可能需要在存储过程中需要它。有两种方法包含这个信息:你可以检查登记处并在那获得它或者使用T-SQL。

  这个信息的实际注册地方将依赖于你的设置和你安装的SQL的版本。你寻找的标签是SQLDataRoot。在我的机器上,它在下面这个结点中:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLServerMSSQL.1Setup

如果你需要知道SQL确切的地方,可以看SQLPath标签,它同样在相同的结点里。

注意:因为结点的名字根据你的SQL Server的版本不同而不同,找到它最简单的方法就是打开regedit并寻找SQLDataRoot。

使用T-SQL,有一个扩展存储进程叫做xp_instance_regread.找到它,复制下面的代码到查询分析器中:

DECLARE @retvalue int, @data_dir varchar(500)
EXECUTE @retvalue = master.dbo.xp_instance_regread 'HKEY_LOCAL_MACHINE',
'SOFTWAREMicrosoftMSSQLServerSetup',
'SQLDataRoot', @param = @data_dir OUTPUT
PRINT 'SQL Server Data Path: '+ @data_dir

上面的代码清楚的调用了扩展存储进程,它们基于一些假设。这些假设将使用在其他一些数据库中的返回值里。

   现在你看这个分析器,xp_instance_regread进程被使用以便包含任何注册设置,并不是仅仅只有SQL-specific设置。


   本文作者:Arthur Fuller 从事数据库开发已经有20年. 他擅长应用开发 Access ADPs, Microsoft SQL 2000, MySQL,和 .NET.


责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134