小编Had*_*adi的帖子

T-SQL拆分字符串

我有一个SQL Server 2008 R2列包含一个字符串,我需要用逗号分隔.我在StackOverflow上看到了很多答案,但它们都不适用于R2.我确保我对任何拆分函数示例都有选择权限.任何帮助非常感谢.

sql t-sql sql-server split sql-server-2008

121
推荐指数
8
解决办法
36万
查看次数

如何从.NET执行SSIS包?

我有一个SSIS包,最终我也想传递参数,这些参数将来自.NET应用程序(VB或C#),所以我很好奇,如果有人知道如何做到这一点,或者更好的是一个有帮助提示的网站如何做到这一点.所以基本上我想从.NET执行一个SSIS包传递它可以在其中使用的SSIS包参数.例如,SSIS包将使用平面文件导入到SQL数据库中,但文件的路径和名称可以是从.Net应用程序传递的参数.

.net c# vb.net sql-server ssis

84
推荐指数
3
解决办法
11万
查看次数

'Microsoft.ACE.OLEDB.16.0'提供程序未在本地计算机上注册.(System.Data)

当我尝试通过MSSQL Server数据导入连接到任何Excel时出现此错误,即SSIS包"Microsoft.ACE.OLEDB.16.0"提供程序未在本地计算机上注册.(System.Data)它不是相同的版本我认为需要其他修补

sql-server oledb excel ssis aceoledb

83
推荐指数
8
解决办法
18万
查看次数

SSIS Excel导入强制不正确的列类型

我正在尝试使用SSIS将电子表格导入我们的数据库.出于某种原因,SSIS想要相信其中两列是Double类型,当它们包含字符数据时.我已经尝试将列重新映射为nvarchar(255),但它仍然不想选择它认为是双倍的数据,因为它中有字符.如果我尝试编辑SSIS包并更改Excel源中的列类型,它将不允许我更改错误输出中的列类型,如果常规输出和错误输出列不比赛.

为什么SSIS坚持认为这些列是Double?我怎么能强迫它实现这些字符串呢?为什么微软的所有东西都不能正常工作?

编辑:我发现了这个:http://support.microsoft.com/kb/236605

我对数据进行了排序,以便混合数据类型位于顶部,然后猜测:问题发生了逆转.它不再导入字符数据,而是停止导入纯数字数据.显然有人不认为12345可以表示为字符串......

sql-server excel types ssis

49
推荐指数
5
解决办法
10万
查看次数

适用于 Visual Studio 2022 的 SSIS 扩展

我已经下载并安装了 Visual Studio 2022。然后单击“修改”

添加SSDT

在这里你可以看到

现在,我想创建SSIS包,为此我已经启动了VS22,并且在“管理扩展”中当我尝试查找Microsoft SSIS时,我无法找到。

为此,我从市场下载了 SSIS:

但是当我尝试安装它时,它会抛出以下错误:

在此输入图像描述

sql-server ssis etl sql-server-data-tools visual-studio-2022

46
推荐指数
2
解决办法
12万
查看次数

30
推荐指数
3
解决办法
11万
查看次数

C#Dictionary按索引获取项目

我试图制作一个方法,从我的字典中随机返回一个名片.

我的词典:第一个定义卡的名称是字符串,第二个是该卡的值,即int.

public static Dictionary<string, int> _dict = new Dictionary<string, int>()
    {
        {"7", 7 },
        {"8", 8 },
        {"9", 9 },
        {"10", 10 },
        {"J", 1 },
        {"Q", 1 },
        {"K", 2 },
        {"A", 11 }
    };
Run Code Online (Sandbox Code Playgroud)

方法:随机随机生成int.

    public string getCard(int random)
    {
        return Karta._dict(random);
    }
Run Code Online (Sandbox Code Playgroud)

所以问题是:

public static Dictionary<string, int> _dict = new Dictionary<string, int>()
    {
        {"7", 7 },
        {"8", 8 },
        {"9", 9 },
        {"10", 10 },
        {"J", 1 },
        {"Q", 1 },
        {"K", 2 },
        {"A", 11 …
Run Code Online (Sandbox Code Playgroud)

c# dictionary

27
推荐指数
3
解决办法
8万
查看次数

如何确定通信链路故障的根本原因TCP提供商:指定的网络名称不再可用?

这是我最近修改这个问题的努力.但是这一次,我试图遵循Oded在他的文章中获得的好建议在StackOverflow上获得好的答案.

我需要找出如何确定以下错误的根本原因:

通信链路故障

TCP提供程序:指定的网络名称不再可用

有时,我在运行一组SSIS包时看到此错误.运行一到多个包时可能会发生此错误:

  1. SQL Server代理作业
  2. 批处理文件
  3. 在BIDS的调试模式下

我看到的完整错误消息如下:

SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:指定的网络名称不再可用.".

SSIS错误代码DTS_E_OLEDBERROR.发生OLE DB错误.错误代码:0x80004005.OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"TDS流中的协议错误".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005描述:"通信链接失败".OLE DB记录可用.来源:"Microsoft SQL Server Native Client 10.0"Hresult:0x80004005说明:"TCP提供程序:远程主机强行关闭现有连接."

这是我如何设计ETL过程的概述:

  • 两台服务器
  • 两者都是虚拟机
  • SSIS包在应用程序服务器上运行
  • SQL Server数据库位于数据库服务器上

我使用OLE DB连接管理器从应用程序服务器上的SSIS包连接到数据库服务器上的SQL Server数据库.

这些包在应用程序服务器上作为文件系统部署运行,而不是在数据库服务器上作为数据库部署运行.

这样做的主要原因是ETL与一组找不到的工具集成,并且驱动器无法访问数据库服务器.这些工具包括适用于Salesforce的Apex Data Loader和pgAdmin III.

到目前为止,我无法一致地重现此错误.但是,这是我观察到的:

  • 在正常工作时间内更频繁地发生故障
  • 在非工作时间发生故障的次数较少

在星期五早上大约两个小时的时间里,我能够成功地重现特定包装上的错误.

如果启用了大数据流之前的子包调用,则在大数据流期间发生错误.

如果禁用了大数据流之前的子包调用,则在同一大数据流期间不会发生错误.

有问题的子包回调数据库以检索少量信息以便在电子邮件正文中使用,然后发送电子邮件.

感觉可能超出了资源限制?

也许连接限制?

我想知道我应该使用什么工具来尝试确定错误的根本原因.

有关这两个服务器的技术细节如下:

SQL Server和数据库服务器信息:
Microsoft SQL Server 2008 R2(SP1) - 10.50.2500.0(X64)2011年6月17日00:54:03版权所有(c)Windows …

networking ssis virtual-machine sql-server-2008 windows-server-2008

25
推荐指数
1
解决办法
4万
查看次数

使用Interop从Excel文件中删除空行和列的最快方法

我有很多包含数据的excel文件,它包含空行和空列.如下所示

Excel预览

我试图使用互操作从excel中删除空行和列.我创建一个简单的winform应用程序并使用以下代码,它工作正常.

Dim lstFiles As New List(Of String)
lstFiles.AddRange(IO.Directory.GetFiles(m_strFolderPath, "*.xls", IO.SearchOption.AllDirectories))

Dim m_XlApp = New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks
Dim m_xlWrkb As Excel.Workbook

For Each strFile As String In lstFiles
    m_xlWrkb = m_xlWrkbs.Open(strFile)
    Dim m_XlWrkSheet As Excel.Worksheet = m_xlWrkb.Worksheets(1)
    Dim intRow As Integer = 1

    While intRow <= m_XlWrkSheet.UsedRange.Rows.Count
        If m_XlApp.WorksheetFunction.CountA(m_XlWrkSheet.Cells(intRow, 1).EntireRow) = 0 Then
            m_XlWrkSheet.Cells(intRow, 1).EntireRow.Delete(Excel.XlDeleteShiftDirection.xlShiftUp)
        Else
            intRow += 1
        End If
    End While

    Dim intCol As Integer = 1
    While intCol <= m_XlWrkSheet.UsedRange.Columns.Count
        If m_XlApp.WorksheetFunction.CountA(m_XlWrkSheet.Cells(1, …
Run Code Online (Sandbox Code Playgroud)

c# vb.net excel optimization excel-interop

22
推荐指数
2
解决办法
2万
查看次数

根据字符串值搜索int列

我View_Booking在sql server 2014中有一个View :

bkID    bkSlot    bkStatus
----    ------    --------
2       Lunch     1
4       Lunch     1
6       Dinner    0
7       Lunch     1
Run Code Online (Sandbox Code Playgroud)

在c#中,我使用了gridview并将其bkStatus转换为字符串,如:

<asp:Label ID="lblStatus" Text='<%# (Eval("bkStatus")+"" == "1") ? "Booked" : "Pending" %>'
    ... ></asp:Label>

bkID    bkSlot    bkStatus
----    ------    --------
2       Lunch     Booked
4       Lunch     Booked
6       Dinner    Pending
7       Lunch     Booked
Run Code Online (Sandbox Code Playgroud)

现在我正在使用此查询搜索View:

SELECT * FROM View_Booking 
WHERE CAST(bkID AS NVARCHAR(MAX)) LIKE '%" + keyword + "%' 
OR bkSlot LIKE '%"+keyword+"%' 
OR bkStatus LIKE …
Run Code Online (Sandbox Code Playgroud)

c# sql t-sql sql-server sql-server-2014

22
推荐指数
2
解决办法
3017
查看次数