我们正在使用SQL Server 2008来管理我们的网络内容。我们团队的一半刚刚升级到Windows 7(我们其他人仍然拥有XP)。我们所有人都在使用SQL Server Management Studio 2008 R2。
我们将网页内容保存在名为pageContent(nvarchar(max))的列中,我们使用缩进格式设置代码,使用新行来设置可读性。
在XP中,我们一直使用Edit Top 200 Rows将pageContent值复制到更新查询中以修改网页。编辑前200行保持CRLF到位;查询结果窗格没有。
但是,当在Edit Top 200 Rows下打开表时,使用Windows 7的用户偶尔在此pageContent列中看不到任何内容(非空,但没有任何内容)。复制到剪贴板时没有捕获任何内容。然而,XP用户没有问题,网页呈现正确,选择查询结果窗格仍然显示Win7用户的值。
所有记录都不会发生这种情况。它似乎与CRLF有关,或者与任何一个领域的CRLF数量有关。似乎更频繁地发生在较长的文本条目上。
非常感谢任何建议。
答案 0 :(得分:0)
我的建议...使用SQL Gui编辑带有特殊字符的varchar(max)字段,可以解决各种潜在问题。
我个人认为,你可以更好地投入精力去构建一个真正的工具来进行编辑,而不是将问题调查到一种已经解决这种问题的方法。
如果您可以访问任何了解Visual Studio的人,他们可以在几分钟内构建一个编辑器(Web或桌面),这比通过SSMS手动编辑字段更好。
我确信这不是你要找的答案,但你确实说过......'任何建议'。
如果我被迫仅使用SQL Server引擎,我想我可能会创建一个SPROC,使用Phil Factor in this excellent article.概述的方法将相关列导出到ascii文件(他所有的东西都很好)。
然后,当需要将数据恢复到列中时,我认为使用an OPENROWSET approach的另一个SPROC可以正常工作。
但是再次,如果是我......我不会那样做。我将在Visual Studio中使用文本框,导出按钮,导入按钮构建一个快速列编辑器,并编写几个查询来填充文本框或根据点击的内容更新数据库(当然参数化更新查询)。并且在CMS到达之前称之为好。