我必须使用C#创建Windows应用程序。
我使用此连接字符串:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using Microsoft.WindowsAzure.Storage;
@using Microsoft.WindowsAzure.Storage.Auth;
@using Microsoft.WindowsAzure.Storage.Blob;
@using System.Web.Configuration;
@using System.Text;
@using System.Linq;
@{
string accountName = WebConfigurationManager.AppSettings["AzureStorageAccountName"];
string accountKey = WebConfigurationManager.AppSettings["AzureStorageAccessKey"];
string rootContainer = WebConfigurationManager.AppSettings["AzureStorageRootContainer"];
try {
StorageCredentials creds = new StorageCredentials(accountName,accountKey);
CloudStorageAccount account = new CloudStorageAccount(creds,useHttps :true);
CloudBlobClient client = account.CreateCloudBlobClient();
IEnumerable<CloudBlobContainer> containerList = client.ListContainers(rootContainer);
foreach(var container in containerList) {
var blobCount = container.ListBlobs().Count();
HtmlString listing = getContainerDirectories(container.ListBlobs());
@Html.Raw(listing);
}
} catch(Exception ex) {
<p>@Umbraco.GetDictionaryValue("[Global] Sorry try again")</p>
}
}
每件事都很好,但是当我必须将“debug folder”复制到服务器(并将DB恢复到服务器)时,我的Connectionstring不起作用。
顺便说一句,客户端或服务器端的SQL都不需要用户名和密码。
答案 0 :(得分:1)
首先:使用SqlConnectionStringBuilder
而不是硬编码连接字符串。这样,您可以确保始终获得格式正确的连接字符串。
第二个想法:SQL Server实例名称是否也对服务器有效? (local)
标识没有和实例名称的本地运行的SQL Server实例。只要您的服务器具有实例名称,例如SQL2012
,您就需要使用local\SQL2012
。
将SQL Server Management Studio连接到服务器的数据库时,您在那里使用哪个名称?您的应用程序在服务器上运行的用户实际上是否有权访问服务器和数据库?