2011-08-05 42 views
3

我正在尝试运行Nant script to backup an Umbraco instance。我需要更改的一个参数是使用SQLOLEDB提供程序的连接字符串。该脚本需要这个,因为它需要一个.bak文件并从新的数据库中恢复一个新的数据库。我怎样才能找出这个连接字符串有什么问题?

在需要进行调整脚本中的提到的线路是这样的:

<property name="ole.db" value="Provider=SQLOLEDB;Data Source=localhost; Initial Catalog=master; Integrated Security=SSPI"/> 

我运行SQL Server 2008 Express的,并且可以使用我的Windows登录名登录到管理工作室罚款。我试图改变“localhost”的我的电脑名称,\ SQLEXPRESS等,但我不断收到以下错误,当南特脚本失败:

System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied. 

它是一个权限问题,或者是找错了初始目录什么的?有没有办法以这种格式快速调试/测试连接字符串?

+1

您是否确认已登录的帐户(即nant正在使用)是否拥有Master数据库的权限? – JohnFx

+0

我可以使用Windows身份验证登录到SQL管理工作室......如果我没有明确设置SQL用户/密码,它会不会使用它? – giles

+0

网络应用程序可能不会模拟您的用户,并正在以应用程序池用户或网络服务的身份进行连接。 –

回答

7

要快速测试窗口框中的任何连接字符串,只需创建一个文本文件并将其扩展名从.txt更改为.udl。

双击将打开数据源连接向导,您可以在其中选择所需的数据库驱动程序(您的情况为OleDb for SQL Server),服务器(您的情况为本地SQL Express实例)和数据库。

从向导中测试此连接后,您可以使用记事本简单地打开.udl文件并复制连接字符串。

+0

伟大的提示 - 原来我需要“提供者= SQLOLEDB.1”:| – giles

相关问题