2011-05-24 152 views
0

我是新来的ASP。我有两个数据库生产和开发人员数据库。
我需要检查开发者网站是否要去开发者数据库。两个数据库都有相同的数据和相同的表名。
但我必须在开发人员数据库上工作我怎么能?ASP到数据库连接

回答

2

通常你会有一个环境配置文件。如果你在谈论ASP.NET,那么它将是Web.config文件。如果你确实在谈论传统的ASP,那么它可能是一个包含一些常量的脚本。

如果数据库在结构上是相同的(它们应该是),那么你应该需要改变的是连接字符串。对于传统的ASP,你可能只是将其存储在一个变量:

Dim connString = "This is your connection string" 

在生产服务器上,连接字符串将被设置为您的生产数据库。在开发机器上,它将被设置为开发数据库。 (对于测试环境等等)所有的数据访问代码都会使用这个连接字符串变量。

更重要的是,这不应该只是只有这个事情阻止开发人员使用生产数据库。 DBA应该设置这样的权限,即只有生产应用程序只有它需要访问该数据库,其他则不需要。开发人员不应该无意中修改生产数据库。因此,即使您使用工作站的生产连接字符串,数据库也应该拒绝您访问。

0

当您指定数据库连接时,您知道您指向的位置,因此这应该很简单。但在dev和production上使用单独的登录可能是一个好主意。

所以答案是你应该使用配置文件中的connectionstrings来获得你所需要的:“database = ..”设置应该被正确设置并且你的问题已经解决了为了获得额外的确定性,使用不同的登录名在任何情况下都是值得推荐的。

您还可以使用服务器跟踪来监视活动,但在多用户数据库中这不是一件容易的事情,它只是一种诊断工具,而不是治愈。

1

有两个连接字符串。然后创建一个常数变量将作为您的开关和选择正确的连接字符串:

Dim strCon 
CONST DEVELOPMENT = true 

if(DEVELOPMENT = true) then 
    strCon = "Development connection string" 
else 
    strCon = "Live connection string" 
end if 

adoCon.open strCon 

然后,你可以切换只需更改为true/false,具体取决于哪个数据库来接。