标签: excel

SSIS 保持强制更改 excel 源字符串以浮动

Excel 中有一个列应该是文本,但 SSIS 在那里看到数字文本并自动使其成为双精度浮点 [DT_R8]。

我可以在输出分支的外部和输出列中手动更改它,但错误输出只是拒绝让我更改相应的列。

Error at Extract Stations [Excel Source [1]]: The data type for "output "Excel Source Error Output" (10)" cannot be modified in the error "output column "Group No" (29)".
Error at Extract Stations [Excel Source [1]]: Failed to set property "DataType" on "output column "Group No" (29)".
Run Code Online (Sandbox Code Playgroud)

我曾尝试修改包 xml。我试过了IMEX=1typeguessrow=0但没有一个能解决我的问题。这有什么解决办法吗?还有一些文章建议您修改注册表,以便 excel 在猜测数据类型之前读取超过默认的 8 行。我不想走这条路,因为即使它可以工作,我也必须修改我计划运行包的机器上的注册表。

要导入SQL nvarchar字段的excel字段读取例如

295.3
296.33
Run Code Online (Sandbox Code Playgroud)

但它们被写入 SQL 表

295.30000000000001
296.32999999999998
Run Code Online (Sandbox Code Playgroud)

我放入数据查看器,字段显示

295.3
296.33
Run Code Online (Sandbox Code Playgroud)

一直到执行这是正确的,但我猜当它遇到 OLE DB 目标源时,它会以某种方式将它转换为

295.30000000000001
296.32999999999998 …
Run Code Online (Sandbox Code Playgroud)

sql-server ssis excel

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

帮助解决 SQL Server 错误“对 OLE DB 提供程序‘Microsoft.ACE.OLEDB.12.0’的临时访问”

因此,我们遇到了一个有趣的问题,即用户在尝试查询 SQL Server 2008 R2 中的视图时收到以下错误:

消息 7415,级别 16,状态 1,第 1 行 对 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”的临时访问已被拒绝。您必须通过链接服务器访问此提供程序。

在研究这个问题时,我发现有很多文章列出了对 OPENROWSET 参数进行更改、注册表值更改、AdHoc 分布式查询等(链接到下面的文章)

http://www.johnsoer.com/blog/?p=538

http://www.remotedbaexperts.com/Blog/dba_tips/2010/09/ad-hoc-access-to-ole-db-provider-microsoft-ace-oledb-12-0-has-been-denied/

按照上述链接中的步骤操作后,我们仍然收到错误消息。

这里需要注意的是,当我们创建一个测试帐户并给它 sa 时 - 它运行得很好。我的具有管理员访问权限的同事也可以毫无问题地运行查询。

此查询是从托管此实例的服务器本地的 excel 文件提供的。

任何人都知道 2008 年的任何其他修复程序?

sql-server excel linked-server

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

有人可以解释 Opendatasource/Openrowset 的魔力吗?

从 excel 文件(或 ms-access DB)中提取信息时,我通常使用以下内容:

SELECT *
 FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$]
Run Code Online (Sandbox Code Playgroud)

有时它有效。有时不会。

有没有人知道设置这个的指南?

我知道临时文件夹,我知道下载正确的驱动程序,我知道扩展属性,我知道没有打开文件。有时虽然,我仍然得到 -

链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回了消息“未指定的错误”。

我昨天遇到了这个问题。我重新启动了我的机器 - 没有用。然后再次重新启动我的实例和 P00f!神奇地它起作用了。

所以这就是我的问题 - 当遇到令人敬畏的“未指定错误”时,您需要检查什么以确保所有星星都符合要求才能正常工作。

sql-server-2008 excel

8
推荐指数
1
解决办法
1216
查看次数

使用 SSIS 从 Excel 导入大列(8000 个字符)

我正在尝试设置定期导入我们从供应商处获得的 Excel 电子表格。我正在使用 SQL 2008 R2 SSIS 将其导入表中。问题连接管理器是到电子表格的 OLE DB 连接。电子表格是 Excel 2005。数据库连接管理器使用 Native OLE DB\SQL Native Client。

我遇到的问题是 OLE DB 源不断将几个 excel 列设置DT_WSTR为一个255长度。但是,我有 2 列,分别为 4000 和 8000 个字符。我已经进入OLE DB 源的Advanced Editor/Input and Output Properties选项卡并更改了External Columns列表和Output Columns列表中的数据类型/长度。不幸的是,当我离开时Advanced Editor,错误列表中会出现错误。

Validation error. Data Flow Task: Data Flow Task: The output column "ColumnName" (226)
on the error output has properties that do not match the properties of its …
Run Code Online (Sandbox Code Playgroud)

sql-server etl ssis sql-server-2008-r2 excel

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

Excel 中的 SSAS Cube - 仅显示具有 KPI 的适用行?

我有一个内置于 SSAS 2008r2 的立方体。我暂时通过excel数据透视表公开它。

我最近向多维数据集添加了一个 KPI,当我在数据透视表界面中显示 KPI 时,它会导致在当前级别显示不适用的维度值。

例如,假设我有客户:

CustomerA
CustomerB
CustomerC
Run Code Online (Sandbox Code Playgroud)

和国家:

NY
VA
TX
Run Code Online (Sandbox Code Playgroud)

当我查看没有 KPI 的数据透视表时,下面CustomerB没有行,NY因为它们在那里没有位置。

当我添加我的 KPI 并只显示valueKPI 时,一切都很好。

当我添加状态指示器(即交通灯或其他)时, 我会看到每个状态下的每个客户。

这是预期的行为吗?有办法解决吗?我喜欢 KPI,但如果我在每个级别获得维度的每个值,它就会失去目的。

更多细节:

Value Expression为KPI仅仅是一个计算的措施,工作正常。

Status Expression是:

CASE
    WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") > .90
        THEN 1
    WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") <= .90
        AND KpiValue("MyKPI") / KpiGoal("MyKPI") > .75
    THEN 0
ELSE -1
END
Run Code Online (Sandbox Code Playgroud)

ssas sql-server-2008-r2 excel

6
推荐指数
1
解决办法
2216
查看次数

如何编写脚本来杀死 MSSQL 中的 MS Office 数据库锁

我最近继承了一个 MSSQL 数据库,因为我们的 DBA 已经转向更美好的领域。我不是 DBA,只有中等的 SQL 知识,但不得不承担他的一些职责,并且遇到了一个问题,我在导航时遇到了一些麻烦。

我们遇到了一个问题,即通过 Excel 访问数据库的用户往往会导致数据库操作停止,这会影响我们的 ERP 软件。我们当前的解决方法是查看 SSMS 中的活动监视器并终止有问题的 Microsoft Office 应用程序。

我希望有一个每隔几分钟运行一次的脚本化任务,以保持事情顺利进行,并且当系统出现故障时,用户不会涌向 IT。

我发现以下查询将允许我提取锁定类型和其他有用的数据(例如等待时间),但不能提取活动监视器中找到的特定应用程序。

select * from sys.dm_exec_requests where wait_type = 'LCK_M_S'

理想情况下,此代码将找到 wait_type 为 LCK_M_S 的应用程序 Microsoft Office,并终止等待时间最长的任务,并在一天中根据需要重复。

预先感谢您的回复。

locked-objects excel wait-types sql-server-2014

6
推荐指数
1
解决办法
639
查看次数

计划查询和导出

是否可以安排一个简单的查询来运行 Daily 并将接收到的数据导出到 Excel 文件中?

sql-server-2008 sql-server excel jobs

5
推荐指数
1
解决办法
4731
查看次数

Microsoft Access 导出到 Excel

我有一个 Excel 电子表格,其中填充了大量按列(姓名列、职业列等)组织的数据。我最近已将所有这些数据移至 Microsoft Access 2010 中进行处理,但我确实需要在 Access 和 Excel 之间来回移动这些数据。从那时起,我对数据进行了很多更改,现在我想将这些数据从 Access 导出回 Excel,数据显示在导入数据的同一列中。我已尝试将数据导出回 Excel,但它看起来与我最初导出数据的 Excel 文件不同。

我想知道是否有一种方法可以将 Access 中的所有数据导出回 Excel,以便其格式与导出到 Access 之前完全相同

抱歉,如果这是一个新手问题,我是 Access 新手,还没有太多经验。

谢谢

ms-access export excel ms-access-2010

5
推荐指数
1
解决办法
952
查看次数

通过 Excel 进行的自动数据移动是否被视为 ETL?

我想知道自动提取、转换和加载数据的非正式方法是否构成“ETL”。例如,我编写 Excel VBA 代码以从数据库中提取到电子表格中,将数据转换为所需的格式,然后通过将 Excel 文件移动到正确的文件夹来加载。将其展示为简历的 ETL 是否不正确?对此有术语或行话吗?

etl excel vba

5
推荐指数
1
解决办法
2236
查看次数

比较一行中的每一列,如果其中任何一列不同则返回错误

我正在尝试查找在同一行中具有不同值的任何标识符。

+------------+--------+--------+--------+--------+
| Identifier | Value1 | Value2 | Value3 | Value4 |
| f001       | a1     | a2     | a2     | a2     |
| f002       | a4     | a4     | a4     | a5     |
| f003       | a2     | a2     | a2     |        |
| f004       | a1     | a1     | a1     | a1     |
| f002       | a9     |        |        |        |
+------------+--------+--------+--------+--------+
Run Code Online (Sandbox Code Playgroud)

例如,


第一个标识符返回“MisMatch”,
第二个标识符返回“MisMatch”,
第三个标识符返回“NoIssue”,
第四个标识符返回“Mismatch”,
第五个标识符返回“NoIssue”,

任何帮助都会很棒,我被困在这一点上。

有些行有数百列,而其他行只有一列。我希望能够找到包含任何不匹配的任何行。

我正在使用 SQL Server 2008 R2。

sql-server sql-server-2008-r2 excel

5
推荐指数
2
解决办法
1494
查看次数