问题标签 [sqlncli]

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 回答
1023 浏览

sql-server - 链接服务器元数据不一致

在 SQL 2005 和 Azure 之间设置链接服务器。下载 Native Client 10,因为它显然是需要的。表示连接成功。在尝试检索或上传数据时收到以下信息:

链接服务器“EBPCloud”的 OLE DB 提供程序“SQLNCLI10”为列提供了不一致的元数据。据报告,对象“我的表”的“客户 ID”列(编译时序号 1)具有“不完整的架构错误逻辑”。编译时为 0,运行时为 0。

有问题的列是唯一标识符

0 投票
2 回答
3376 浏览

vbscript - 从 IIS 6.0 迁移到 IIS 8.5 后出现“找不到提供程序”错误

我有一个在 Windows Server 2003 和 IIS 6.0 上运行良好的 ASP 站点。我迁移到 Windows Server 2012 R2 IIS 8.5

尝试连接数据库时出现错误:

找不到提供者。可能没有正确安装

错误详细信息:
2014-11-05 10:33:06 10.30.62.21 POST _main.asp |50|800a0e7a|Provider_cannot_be_found._It_may_not_be_properly_installed。80 - XX.XX.XX.XX Mozilla/4.0+(兼容;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/5.0;+SLCC2;+.NET+CLR+2.0.50727;+ .NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E;+.NET+CLR+1.1.4322;+InfoPath.3) /bottomright.asp ?sAction=协助 500 0 0 1859

我的连接字符串如下:

我检查了新服务器(2012)上的 ODBC 数据源管理器(32 位),并在下面找到了两个相关的驱动程序

  1. SQL Native Client 2005.90.4035.00 Microsoft Corporation SQLNCLI.DLL
  2. SQL Server 6.03.9600.163.84 微软公司 SQLSRV32.DLL

我已将我的应用程序池启用为 32 位,并将托管管道启用为经典。

0 投票
1 回答
1800 浏览

vbscript - Installing SQL Sever 2008 R2 Native Client Not Working

I'm struggling to install SQL Server 2008 R2 Native Client using MSIExec through VBScript. I'm trying to complete the installation without the user needing to interact with the installer but I'm getting the error message The required IACCEPTSQLNCLILICENSETERMS=YES command-line parameter is missing.

I'm trying to execute the code as below (which obviously incorporates the required parameter!) but I'm still getting the error message. Can anybody see what I'm doing wrong?

Just to clarify the exact command and outcome, see the picture below:

Example

0 投票
1 回答
2328 浏览

vbscript - SQL 本机客户端数据类型兼容性 - 与 SQLOLEDB 不兼容

在切换到使用 SQL Native Client (SQLNCLI) 作为 ADO 的提供程序时,我们的旧应用程序遇到了问题。

我们原来的连接字符串是:

我们将其更改为:

我们发现,在调用存储过程时,使用 adDBTimeStamp 的参数,Native Client 似乎将时间戳视为 smalldatetime,而不是 datetime。这给我们带来了问题,因为我们在某些比较中使用 9999 年 12 月 31 日作为“顶端”日期,而 Native Client 失败并出现“日期格式无效”错误,而 SQLOLEDB 没有问题。

现在看起来我们可以在创建参数时将数据类型从 adDBTimeStamp 更改为 adDate,但是我想知道在我们继续进行代码更改之前连接字符串中是否缺少某些内容。

VBScript 代码重现如下。为免生疑问,在有人建议我们应该使用 12/31/9999 之前,日期格式是英国 (dd/mm/yyyy) :-) 但还要确认,CDate 不会失败。

将日期时间倒回 2078(在 smalldatetime 的日期范围内)会使错误消失。

如前所述,如果可以找到非代码更改修复程序,那就是我们更喜欢的,在我们必须将 adDBTimeStamp 更改为 adDate 之前。我希望 DataTypeCompatiblity=80 表现得像 SQLOLEDB; 不幸的是,在找出 SQLNCLI 使用的映射类型时,我的 Google-fu 失败了。

0 投票
1 回答
618 浏览

vbscript - SQLNCLI11 提供程序 SQL Server 2012 不支持命令方言

我们使用的是经典的 ASP 和 SQL Server 2012 标准版。

我们的连接字符串如下

我们正在使用 SQLOLEDB 提供程序,它在我们的应用程序中运行良好。当我们尝试将提供程序更改为 SQL Native 客户端(SQLNCLI 11)时,它抛出了错误

SQLNCLI11 提供程序 SQL Server 2012 不支持命令方言

在下一行

0 投票
1 回答
4131 浏览

oledb - 连接到 Sql Azure 时出错:TCP Provider: No such host is known

我正在尝试使用 OLEdb 连接到 SQL Azure。当我这样做时,我收到错误:

  • 来源: Microsoft SQL Server Native Client 10.0
  • 描述: TCP 提供者:没有这样的主机是已知的。
  • SQL 状态: 08001
  • 本机错误: 11001

可以使用以下方式连接:

  • SQL Server 管理工作室,和
  • 红门 SQL 比较

所以这不像是防火墙、服务器或凭据问题。

但我无法使用 OLEDb 提供程序从本机应用程序连接自己。


首先我尝试了一个完全错误的用户名,并且没有密码

Provider=SQLNCLI10;数据源=tcp:hyperion.database.windows.net,1433;初始目录=Scratch;用户ID= adlfk24lksdfj@hyperion

给出(预期的)错误:

来源: Microsoft SQL Server Native Client 10.0
描述:用户“adlfk24lksdfj”登录失败。
SQLState: 28000
本机错误: 18456

然后我给它一个有效的用户名,但没有密码:

Provider=SQLNCLI10;数据源=tcp:hyperion.database.windows.net,1433;初始目录=Scratch;用户ID= iboyd@hyperion

这将返回(预期的)错误:

来源: Microsoft SQL Server Native Client 10.0
描述:用户“iboyd”登录失败。
SQLState: 28000
本机错误: 18456

然后我给了一个无效的密码:

Provider=SQLNCLI10;数据源=tcp:hyperion.database.windows.net,1433;初始目录=Scratch;用户ID= iboyd@hyperion;密码= trubadour

这将返回预期的错误:

来源:Microsoft SQL Server Native Client 10.0
描述:用户“iboyd”登录失败。
SQLState:28000
本机错误:18456

然后是有效的连接字符串

然后我给它正确的1用户名和密码:

Provider=SQLNCLI10;数据源=tcp:hyperion.database.windows.net,1433;初始目录=Scratch;用户ID= iboyd@hyperion;密码= correcthorsebatterystaple

在 15 秒的暂停后,我得到了意想不到的、无意义的错误:

来源: Microsoft SQL Server Native Client 10.0
描述: TCP 提供者:没有这样的主机是已知的。
SQLState:08001
NativeError: 11001

1当然这些不是我的实际凭据。但是有没有可以测试连接的免费测试 SQL Azure 数据库?

奖金阅读

0 投票
0 回答
86 浏览

c# - 从 sql2012 连接 sql2000 时网络相关实例特定错误

从昨天开始,我正在尝试访问托管在 windows server pc 上的 sqlserver 2000。从我在同一网络上的笔记本电脑上,使用 sql2012 和 c# 连接字符串。我还明智地安装了本机客户端 10.50。仍然没有成功。谁能告诉我?我们需要在 sql2000 上做些什么来建立远程连接吗?我通常使用 sql 2005/08/12。除了我的笔记本电脑命名管道已启用并多次重新启动所有服务。

我收到的连接拒绝错误是:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

这不是那么简单:) 我什至尝试远程连接我的笔记本电脑,一切都很好,但这个问题很关键。如果有人可以提供帮助,我会非常高兴。

0 投票
1 回答
63 浏览

stored-procedures - 我可以执行生成动态列的存储过程的另一种方法,可以在“in 子句”中将其提供给 PIVOT

我正在 sql server management studio 2012 中处理生成动态列的查询,因为我们使用了数据透视将行转换为列。由于某些限制,我们不能使用存储过程来返回透视结果集。为了使用枢轴获得与动态列相同的结果集,我尝试了以下方法,但陷入了某些或其他问题。

  1. 使用视图,在这里我们不能声明变量,因此我们不能有一个变量来保存动态列并将其传递给 PIVOT。

  2. 使用表值函数。

a) 我们可以在函数中声明变量并在数据透视表中提供动态列的一种方法需要将静态列指定为输出列。但我的查询会生成动态列。

b)另一种我们不能声明变量并且不需要提及输出列的方法,显示在发布的示例中。在这里,我能够返回旋转后的结果集,但如前所述,由于我们无法声明变量,因此我们无法在 pivot 中提供动态列。

粗体变量是我们需要提供动态列的地方。

c) 使用 OpenRowSet 的另一种方法,如下所示

这种方法说我们需要安装 SQLNCLI。我们正在安装 SQLNCLI。这种方法会奏效吗?

有没有其他方法可以执行生成动态列的存储过程,可以在“in 子句”中提供给 PIVOT?

0 投票
0 回答
392 浏览

sql-server - SQL SERVER - TCP 一个 OLE DB 提供程序错误

我正在使用链接服务器在不同服务器上的两个数据库之间执行远程查询。两个数据库都是 SQL SERVER。但是,我收到以下错误:

1 - TCP 提供者:信号量超时期限已过。

2 - OLE DB 提供程序:链接服务器“xxx”的“SQLNCLI10”返回消息:“通信链接失败”。

查询是通过 C# 执行的,这些错误偶尔会发生,而不是一直发生。此外,我正在使用另一个链接服务器执行相同的代码/查询,并且没有发生这些错误。两个链接服务器的配置方式相同。该代码已在两台机器上运行了 72 小时。我不明白为什么会发生错误。所以,任何帮助将不胜感激:)

0 投票
0 回答
2646 浏览

sql-server - SQLNCLI11 provider has the error of the fractional part of the provided time value overflows

我有以下连接字符串:

我有以下代码:

当我执行一个简单的更新 SQL 语句时,出现以下错误

有任何想法吗?

谢谢,