0

我有一个 SSIS 包,它从 Oracle 收集数据并将其放入 SQL 中。这个包在当前服务器上运行良好。但是,当我在另一台服务器上运行导出到文件系统的同一个包时,它失败并出现错误 ORA-1005 - null password given;登录被拒绝。

我可以从服务器连接到 Oracle,也可以连接到 SQL。奇怪的是,如果我使用 Windows 资源管理器从旧服务器导航到新服务器并运行包它工作正常。它仅在从新服务器执行时失败,从旧服务器执行时工作正常,即使文件在新服务器上也是如此。

请有人帮忙,因为这让我发疯!

谢谢

4

1 回答 1

0

因此,从我们的小聊天中,我猜测 SSIS 打包丢失了服务器中连接的密码。您需要为连接字符串属性使用配置文件(包括用户名和密码),它可能会起作用。

在你的 SSIS 包中

  1. SSIS->包配置标记启用
  2. 添加->下一步->指定conf设置直接选择配置文件的位置和名称->保存
  3. 在选项卡对象中找到您的连接并展开->属性_>标记“连接字符串”、“名称”、“密码”
  4. 下一个 下一个

有时配置文件也不保存密码。所以在创建配置文件后,用记事本打开它。当您输入您的通行证并保存时,这应该在包裹关闭时完成

配置文件示例(请勿复制创建自己的):

<?xml version="1.0"?><DTSConfiguration><DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="dasdsa\dasdsa" 
GeneratedFromPackageName="Package" 
GeneratedFromPackageID="{53B24B50-B43F-4D51-AD15-44FC92896BCA}"
 GeneratedDate="27.11.2012 19:07:35"/></DTSConfigurationHeading>
<Configuration ConfiguredType="Property" 
Path="\Package.Connections[Oracle].Properties[Name]" ValueType="String">
<ConfiguredValue>YourName
</ConfiguredValue></Configuration><Configuration 
ConfiguredType="Property" Path="\Package.Connections
[Oracle].Properties[Password]"
 ValueType="String"><ConfiguredValue>**ENTERHEREPASS**</ConfiguredValue>
</Configuration></DTSConfiguration>

2.部分。为什么代理作业无法执行包 从一台服务器传输到另一台服务器时可能有几个问题:

  1. 需要设置正确的执行模式 64 或 32 位http://www.bidn.com/blogs/ShawnHarrison/ssis/2362/ssis-basics-running-a-package-in-32-bit-mode
  2. 包“ProtectionLevel”上的安全设置可能会做坏事
  3. Sql server Agent Job 在没有权限的 Owner 权限下运行。
于 2012-11-27T14:41:54.570 回答