【发布时间】:2012-08-10 00:44:58
【问题描述】:
当我右键单击我的视图并单击“脚本视图为”时,我收到以下错误:
属性 TextHeader 不适用于视图“[dbo].[TableName]”。这个 此对象的属性可能不存在,或者可能由于无法检索 访问权限不足。文本已加密。 (Microsoft.SqlServer.Smo)
我能够使用bcp 来获取表的转储,并创建一个给定here 的格式文件。该表有大约 60 列,我不想手动编写 CREATE TABLE 查询。有没有办法自动做到这一点?
我希望如此
BULK INSERT DB.dbo.TableName
FROM 'E:\Databases\TableName'
WITH (FORMATFILE = 'E:\Databases\TableName.Fmt');
GO
可以解决问题,但在我执行上述查询之前,表本身似乎应该存在于数据库中。有什么建议吗?
【问题讨论】:
-
正如错误所暗示的,问题可能是权限。您可以访问 INFORMATION_SCHEMA 表吗?您可以从那里构造表(至少是列,这是 bcp 所需的全部内容)。
-
@GordonLinoff:如果这是
System.Views下的那个,是的,我可以访问它们。所以唯一的方法可能是获取这个模式的转储,然后手动创建查询?
标签: sql sql-server-2008 bcp