我在SQL Server Business Intelligent Development Studio中使用SQL Server Integration Services(SSIS).
我需要做一个如下任务.我必须从源数据库中读取并将其放入目标平面文件中.但同时源数据库应该是可配置的.
这意味着在OLEDB连接管理器中,连接字符串应该动态更改.此连接字符串应取自配置/ XML/flat文件.
我读到我可以使用变量和表达式动态更改连接字符串.但是如何从config/XML/flat文件中读取连接字符串值并设置变量?
这部分我无法做到.这是实现这一目标的正确方法吗?我们可以将web.config文件添加到SSIS项目吗?
我有一个服务器,能够使用导入向导创建和运行Excel导入任务.我正在尝试使用我在该服务器上开发的visual Studio 2010 Integration Services包来自动化该过程.
尝试设计包时会出现问题.我添加了一个excel连接,并将其指向本地磁盘上的Excel文件(我已使用导入向导成功导入的同一文件).当我将Excel源添加到DataFlow并指定excel连接时,当我转到Excel表格下拉列表时,我只看到"无法加载表或视图"并收到以下错误.
"无法检索连接管理器的表信息.无法使用连接管理器连接到源..."
我无法在任何地方找到此错误,我不知道它为什么会失败.该目录与Authenticated用户共享,该文件未在使用中.
有任何想法如何调试此错误?我知道在64位模式下运行此问题可能存在问题,但这是否适用于开发?
我应该补充一点,它是一个excel 2007文件.XLSX,连接设置为Excel 2007.
sql-server ssis visual-studio-2010 visual-studio sql-server-2012
无法测试从Windows Vista Business中的.NET代码发送电子邮件.
我正在编写代码,一旦证实,我将迁移到SSIS包.代码是通过电子邮件将错误消息发送到收件人列表.
代码如下,但是当我执行代码时遇到异常.
我创建了一个简单的类来进行邮件...设计可能更好,我在实现更强大的功能,方法等之前测试功能.
namespace LabDemos
{
class Program
{
static void Main(string[] args)
{
Mailer m = new Mailer();
m.test();
}
}
}
namespace LabDemos
{
class MyMailer
{
List<string> _to = new List<string>();
List<string> _cc = new List<string>();
List<string> _bcc = new List<string>();
String _msgFrom = "";
String _msgSubject = "";
String _msgBody = "";
public void test(){
//create the mail message
MailMessage mail = new MailMessage();
//set the addresses
mail.From = new MailAddress("me@domain.com");
//set the …Run Code Online (Sandbox Code Playgroud) 如何在我的C#代码中访问我在数据流中使用的变量 - >脚本组件 - >我的c#脚本和我的SSIS包?
我试过用哪个也行不通
IDTSVariables100 varCollection = null;
this.VariableDispenser.LockForRead("User::FilePath");
string XlsFile;
XlsFile = varCollection["User::FilePath"].Value.ToString();
Run Code Online (Sandbox Code Playgroud) 我试图将数据从Excel文件导入SQL Server数据库.我无法这样做因为我在日志文件中遇到以下错误.请帮忙.日志错误如下: -
[OLE DB Destination [42]]错误:发生了OLE DB错误.错误代码:0x80040E21.OLE DB记录可用.来源:"Microsoft SQL Native Client"Hresult:0x80040E21说明:"多步OLE DB操作生成错误.检查每个OLE DB状态值,如果可用.没有工作.".
[OLE DB目标[42]]错误:输入"OLE DB目标输入"(55)的输入列"F2的复制"(5164)出错.返回的列状态为:"该值违反了列的完整性约束.".
[OLE DB目标[42]]错误:"输入"OLE DB目标输入"(55)"失败,因为发生错误代码0xC020907D,并且"输入"OLE DB目标输入"(55)"上的错误行处置指定失败出错了.指定组件的指定对象发生错误.
[DTS.Pipeline]错误:组件"OLE DB Destination"(42)上的ProcessInput方法失败,错误代码为0xC0209029.标识的组件从ProcessInput方法返回错误.该错误特定于组件,但错误是致命的,将导致数据流任务停止运行.
[DTS.Pipeline]错误:线程"WorkThread0"已退出,错误代码为0xC0209029.
[Excel Source [174]]错误:尝试向数据流任务缓冲区添加行失败,错误代码为0xC0047020.
[DTS.Pipeline]错误:组件"Excel Source"(174)上的PrimeOutput方法返回错误代码0xC02020C4.当管道引擎调用PrimeOutput()时,组件返回失败代码.失败代码的含义由组件定义,但错误是致命的,管道停止执行.
我正在尝试将平面文件导入oledb目标sql server数据库.
这是给我带来麻烦的领域:

这是该平面文件连接的属性,特别是字段:

这是错误信息:
[来源 - 18942979103_txt [424]]错误:数据转换失败.列"recipient-name"的数据转换返回状态值4和状态文本"文本被截断或一个或多个字符在目标代码页中不匹配".
我究竟做错了什么?
我有一个控制流程,我在其中使用T-SQL命令创建临时数据库和表.当我添加数据流时,我想查询表但我不能,因为该表不存在以从中获取信息.当我尝试登录时出错,因为数据库不存在(尚未).我有延迟验证为真.
如果我手动创建数据库和表,然后使用查询添加数据流并删除数据库,但它似乎不是一个干净的解决方案.
如果有更好的方法来创建临时登台数据库并在数据流中查询它,请告诉我.
我最近安装了SQL Server 2012,我主要使用默认设置.数据库工作正常,我可以愉快地使用SSMS(SQL Server Management Studio)进行连接,但是当我连接到Integration Services服务器时,我收到此消息
连接到计算机"localhost"上的Integration Services服务失败,并显示以下错误:"访问被拒绝."
默认情况下,只有管理员才能访问Integration Services服务.在Windows Vista及更高版本中,该进程必须以管理权限运行才能连接到Integration Services服务.有关如何配置对服务的访问权限的信息,请参阅帮助主题.
这是截图

我不确定为什么,但我是域管理员,并拥有服务器的完全权限.另外,为什么当我从我的桌面连接它可以成功连接,只有当我从服务器本身连接,这给了我这个问题.如何解决此问题,以便我可以在服务器上使SSMS连接到其Integration Services实例.
我运行Visual Studio 2012,我是SSIS的新手.我尝试安装SSDT-BI(2013年6月版)以研究SSIS,但我无法使用我的默认实例完成安装,因为架构不匹配 - 我的服务器是x64而安装程序是x86.似乎没有安装程序的x64版本.
SSDT-BI不支持x64数据库吗?
sql-server ssis visual-studio-2012 ssdt-bi sql-server-data-tools
嗨,我是SSIS包的新手,写了一个包并同时阅读它们.
我需要将DTS转换为SSIS包,我需要在不同数据库的两个源上执行连接,并且想知道什么是更好的apporach,使用查找或合并连接?
表面上看起来非常相似."合并连接"要求数据先进行排序,而"查找"则不需要这样.任何建议都会非常有帮助.谢谢.