8

我将 SSIS 与 VS2010(shell)和从 SQL Server 2005(32 位)到 SQL Server 2012(64 位)的数据库一起使用。我直接在目标服务器上开发(不是最佳的,但它可以工作)。

当我尝试使用传输数据库任务时,它给了我如下错误消息:“错误:任务上的 Execute 方法返回错误代码 0x80131500(传输数据时发生错误。有关详细信息,请参阅内部异常。) Execute 方法必须成功,并使用“out”参数指示结果。” 错误信息

这是问题......我如何查看“内部异常”?它是一个 GUI 界面,无法单步执行代码!我什至尝试设置日志记录- 它只记录相同的无用错误消息。

Microsoft 在他们的参考文档(我可以找到)中没有关于此错误代码的信息。

在谷歌搜索错误代码后,我看到其他人有这个错误代码以及与用户、角色和创建它们有关的消息。

  • 我仔细检查了我在两台服务器上都有系统管理员权限,并在两台服务器
    上都登录了。
  • 我尝试了从每台服务器到自身的相同传输数据库任务(更改数据库名称),并且它们自己都工作得很好。
  • 我尝试了 DatabaseOnline 和 DatabaseOffline 选项。(双向相同的错误)
  • 在执行传输数据库任务之前,我尝试执行“传输登录”任务,该任务有效,但不是传输数据库任务。然后它开始抛出错误,说数据库不存在 - 这意味着我需要在传输数据库后传输登录信息。

这是我的设置:在此处输入图像描述

我究竟做错了什么?或者我怎样才能得到“内部异常”消息?

另外,请在此处关注我在微软论坛上的帖子:http: //social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/cda53c80-8da6-4ed1-898a-9f3ff8464ae2

4

5 回答 5

6

这个答案让我感到恶心......我希望我能帮别人省去这个麻烦。问题是这样的:

  1. 首先也是最重要的:错误消息的描述性不够。错误应该交给接口。
  2. 在“传输数据库”任务的“编辑”下,目标文件路径将使用源数据库的文件路径“自动填充”。粗略的一瞥(以及第二次和第三次……)他们看起来很正确。经过进一步检查,文件路径是错误的。如果您从一个版本到另一个版本,这是有道理的 - 文件夹的命名根据版本(MSSQL.1vs. MSSQL11.<instanceName>)有细微的差异。

综上所述,错误是由于路径设置错误导致文件夹不存在造成的。我想像这样的其他低级异常也会被具有相同神秘错误消息的接口吃掉。

于 2012-06-07T19:51:01.847 回答
2

这很旧,但我在 SSMS 17.2 中遇到了同样的神秘消息。我尝试并检查了上述所有建议均无济于事。在我的情况下,问题与 Visual Studio 2017 中 SSIS 项目的 TargetServerVersion 属性有关。默认情况下,这设置为 SQL Server 2017,而我的本地服务器是 SQL Server 2014 - 一旦更改为相同版本,一切都很顺利。

于 2017-09-26T14:55:52.100 回答
1

我们遇到了这个问题,有人告诉我们一个有效的日期将始终存在于 MySQL 数据库的列中,我们后来发现有日期'0000-00-00 00:00:00''0001-01-01 00:00:00'.

我们在查询中处理了它,该查询使用 case 语句将错误日期转换为 SSIS 可以使用的日期:

CASE WHEN Product.PurchaseDate < '1900-01-01 00:00:00' THEN '1900-01-01 00:00:00' ELSE Product.PurchaseDate END AS PurchaseDate

当然,您也可以将其设置为null您的选择。

于 2012-10-10T21:16:24.297 回答
1

我也遇到了同样的问题,结果证明是访问问题。尝试将这些访问权限授予 mdf 和 ldf 文件将登陆的文件夹:NT Service\MSSQLSERVER、Owner Creator、System

于 2016-01-25T15:55:43.463 回答
0

“这意味着我需要在传输数据库后传输登录信息。”

并非如此,登录是在服务器(实例)级别上,因此您可以传输登录名,然后传输数据库。当然,您以后需要担心用户

这里有一点,我认为 SSIS 不会准备转移 2005 -> 2012。我的意思是,“跳过”一个版本是没​​有意义的。你说你使用的是 VS 2012,所以它是 SSIS 2012。它认为它只能读取 2008 数据库。您在同一台服务器上测试并且它工作的事实也使这一点更加强大。

于 2012-06-06T09:53:10.887 回答