2012-02-04 42 views
1

任何人都可以请我说如何在sql azure表中声明一个xml类型的列,以及如何将该文件从本地计算机保存到sql azure表中?在SQL Azure中保存XML文件

感谢提前:)

回答

1

不是你正在寻找确切的答案,但在这里你可以做什么,

  1. 保存在BLOB文件,而不是Azure Table中。 BLOB是专为此目的而设计的结构。
  2. 其次,您可以将BLOB url存储在Azure表中。
  3. 这将使您的应用程序易于理解并且易于实现。
  4. 这也将有助于减少你的数据库的大小,较小的数据库更好的性能

希望这有助于你。

+0

感谢您的信息。你能告诉我如何创建一个blob并保存一个文件吗? – DSKVP 2012-02-04 16:11:43

+1

在MSDN上检查[this](http://msdn.microsoft.com/en-us/library/windowsazure/gg651129.aspx)示例。或http://debugmode.net/2011/09/01/downloading-and-saving-a-file-from-windows-azure-blob-storage/。你可以使'BLOB'公开或私人。通常图像存储在Public blob中,以便它们可以直接从客户机下载。在应用程序中,您可以使用'WebClient'从'BLOB'中获取文件。如果您对答案满意,请接受它们,请阅读[常见问题](http://stackoverflow.com/faq#howtoask)。你没有接受任何关于你的问题的答案。 – 2012-02-04 16:22:16

+0

非常感谢Amar Palsapure。真的这个职位帮了我很多。 – DSKVP 2012-02-05 18:44:01

0

这里是短答案:

USE YourDataBaseName 

GO

CREATE TABLE东西

([SomethingID] INT PRIMARY KEY IDENTITY,

[TheColumnYouWantToDeclare] XML)

GO

使用EntityFramework和LINQ to SQL,您可以读取xml内容并将其保存到列中。这是你如何做到这一点。当然,你也可以编写SQL查询,但这里是我刚刚解决了LINQPAD的问题。

var myEntityToAdd = new Something();

var xmlContent = System.IO.File.ReadAllText(@“C:\ NameOfFile.xml”);

var xdoc = XDocument.Parse(xmlContent).Root;

myEntityToAdd.TheColumnYouWantToDeclare = xdoc;

Somethings.InsertOnSubmit(myEntityToAdd);

SubmitChanges();

在Azure SQL表中,您可以使用XML做很多事情。这里有三个视频,以帮助您:

https://channel9.msdn.com/Series/Using-XML-in-SQL-Server-and-Azure-SQL-Database/01 https://channel9.msdn.com/Series/Using-XML-in-SQL-Server-and-Azure-SQL-Database/02 https://channel9.msdn.com/Series/Using-XML-in-SQL-Server-and-Azure-SQL-Database/03