问题标签 [openrowset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2442 浏览

sql-server - OPENROWSET 将 excel 表中的电话号码转换为十进制格式而不是 varchar

我在 excel 表中的一个字段是电话号码,当我使用 openrowset 批量导入并将其插入 varchar(50) 字段时,它会转换为十进制格式。

这就是我正在做的事情:

电话号码 3234406751(在 excel 文件中)被转换为 3.23441e+009(在 TmpDataFileCC_ftb 中)

我尝试了一些 Cast 和 convert 功能,但似乎没有任何效果。有人可以告诉我我能做些什么来解决它吗?

0 投票
4 回答
1383 浏览

sql - 将 Excel 数据导入 SQL Server

我想将 excel 文件中的数据插入到 SQL Server 中。我使用了以下 SQL 语句:

但我收到以下错误 -

消息 7403,级别 16,状态 1,第 1 行
OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”尚未注册。

0 投票
2 回答
17891 浏览

tsql - T-SQL:字符串连接问题

我有一组名为 GreenLine1.mp3、GreenLine2.mp3 等的音频文件,我将把它们作为 BLOB 写入表中(我使用 MS SQL Server'08),这是我的 sql 请求:

我有一个错误:'+' 附近的语法不正确,需要 ',' 或 ')'。

如果我尝试写

'C:\Users\Ilya\folder\GreenLine' + CAST(@num AS VARCHAR) + '.mp3'

放入变量并将其放在 BULK 之后,我在 @variable、预期的 STRING 或 TEXT_LEX 附近得到不正确的语法

0 投票
1 回答
510 浏览

sql-server-2005 - 如何在 Openrowset 中使用参数

我想将存储过程用作另一个存储过程中的表。这是我的代码:

但它返回“'+' 附近的语法错误”。你对这个问题有什么建议吗?

0 投票
1 回答
1109 浏览

sql - 将文件导入 SQL Server 2008 数据库

我正在尝试将大量文件从一个数据库导入另一个数据库。原始数据库将文件名存储在数据库表中,并将实际文件存储在磁盘上的某个位置。

新数据库使用文件流来存储文件。

我之前使用 OPENROWSET 将文件导入新数据库,但在这些情况下,我手动提供了完整路径,效果很好。

在这种情况下,我认为有多个文件可以动态构建路径,将磁盘上目录的位置与旧数据库中的文件名结合起来。

然而,事实证明,OPENROWSET 不允许连接字符串。我发现要走的路是使用动态 SQL (http://stackoverflow.com/questions/6621579/t-sql-issue-with-string-concat)。

但是,我不知道如何将旧数据库表中的信息与 OPENROWSET 结合起来,以便能够将文件插入到新数据库中。

我目前的想法是这样的:

这样,我就有了 ID、文件名和完整路径。但是如何将这三个项目与二进制数据一起插入到新数据库中呢?我希望有人能帮帮忙

0 投票
1 回答
12618 浏览

sql-server - 使用 SQL Server OpenRowSet 函数上传 csv 文件

我需要使用 OpenRowset 函数将多个文件(file1、file2、file3...)上传到 sql server DB 中的表(Table1、table2、table3...)中。所有文件都保存在 C:\download 我使用以下查询可以正常工作。

问题是如何将文件名和表名作为参数传递。


感谢托尼的回答。我已将 sql 放入存储过程中,如下所示。但它比原始硬编码文件和表名慢得多。任何建议让它运行得更快。

0 投票
1 回答
202 浏览

openrowset - 使用 openrowset microsoft.ace.olebd.12.0 的非 sa 即席查询

帮助!

如果有人可以展示如何在非 sa 帐户上使用 openrowset Microsoft.ACE.OLEDB.12.0 使用即席查询的解决方案,将不胜感激?一直很难在整个云中寻找这个。

谢谢,

0 投票
3 回答
28886 浏览

sql-server - 使用 OpenRowSet 导入 .CSV 文件时将科学计数法转换为浮点数

我正在使用 openrowset 将 csv 文件导入 SQL Server。csv 文件中的一列包含科学记数法 (1.08E+05) 中的数字以及正在插入的表中的列

默认情况下,它将值导入为 1 并忽略 .08E+05。

我尝试在执行查询时使用 cast() 和 convert() 直接转换值,并将表中的数据类型设置为字符串并将其导入。所有这些方法都具有相同的行为,即忽略 .08E+05。

有没有办法在没有 .08E+05 的情况下将值导入为 108000 而不是 1 而无需更改 csv 文件本身?

将数据类型设置为 varchar 并读取 csv 文件似乎与以下代码具有相同的效果:

并非 CSV 文件中的所有值都有科学记数法,而没有它的值,例如 81000 没有问题。

0 投票
3 回答
20029 浏览

sql - 当 SP 包含 # 个临时表时,使用 OPENROWSET 动态检索 SP 结果

我的情景

我正在开发一个数据库,该数据库将包含整个服务器上不同数据库中各种存储过程的许多详细信息。我现在试图收集的信息是“SP 输出什么?”

在搜索中,我发现答案在于 OPENROWSET。我最初的测试是成功的,一切看起来都很棒。但是,在使用实时 SP 对其进行测试时,我遇到了一个主要问题:它不能很好地与临时 (#) 表配合使用。

例如:

如果我要接受这个 SP:

我可以使用以下代码轻松地将输出插入到 temp (##) 表中,然后查询 tempdb 的 sysobjects 并生成列及其数据类型的列表:

伟大的!但是,如果 SP 是这样的:

当我执行与OPENROWSET之前相同的代码时,我收到以下错误:

无法处理对象“SET FMTONLY OFF exec DatabaseName.dbo.zzTempSP @A=1,@B=2”。链接服务器“(null)”的 OLE DB 提供程序“SQLNCLI10”表示该对象没有列,或者当前用户对该对象没有权限。

当我将 OPENROWSET 代码(通过删除动态内容)修剪为:

我收到以下(更有用的)错误:

无效的对象名称“#T”。

这就是我碰壁的地方。在我的搜索中似乎没有解决方案,但我还不能让自己放弃它。

所以我被引导到..

我对你的问题

有没有人知道任何可能的方法来规避这个错误?或者是否有可能的替代解决方案?

这个过程不会经常运行,所以我不必太担心解决方案的效率。

任何投入将不胜感激。

谢谢,佐克

PS:抱歉格式化。我不太清楚语言标签。

0 投票
1 回答
1905 浏览

oracle - SQL 2008 OraOLEDB.Oracle 提供程序返回“超过同时 SESSIONS_PER_USER 限制”

我们有一个 SQL 作业,当作为标准用户(具有适当的访问权限)运行时,会返回标题中看到的错误。但是,当我们将作业更改为以“sa”运行时,它可以完美运行。相同的参数被传递给 OPENROWSET 函数以连接到 OraOLEDB.Oracle 提供程序(它使用相同的 Oracle ID/PW 登录)。它不是链接的 Oracle 服务器;它是临时的。

有没有人见过这样的东西?

运行 Oracle 11g、SQL 2008 R1