问题标签 [sql-server-native-client]

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

sql-server-2008 - 使用 Native Client 10 将 TDateTime 字段插入 SQL 2008 DB

我们有一个用 Delphi 2007 编写的遗留应用程序,并且仍在使用 BDE(是的,它需要切换到 ADO,但有超过 500K 行,这是一项艰巨的工作)。它使用 SQL SERVER ODBC 连接连接到 SQL Server 2008 DB。我正在尝试切换到 SQL Server Native Client 10.0,但遇到了一个有趣的问题。当尝试向包含日期时间字段的表中插入记录时,我们收到以下错误:

在进行一些研究时,我看到了有关使用 TParameter 对象的 NumericScale、Precision 和 Size 参数的评论。一个TADOQuery会自动将参数分别设置为3、23、16,插入没有问题。如果我在 TQuery 对象上将参数设置为相同,则会收到与上述相同的错误。

有没有人有这方面的经验并且知道一个简单的解决方法?我为任何想尝试的人创建了以下示例代码。您只需要更改连接和 SQL 代码。

DateTimeParamTest_Main.dfm:

DateTimeParamTest_Main.pas:

0 投票
1 回答
524 浏览

sql-server-2012 - 如何为故障转移、高可用性、灾难恢复配置 SQL Server Native Client 11.0

我有SQL Server 2012 Web Edition。我想在此服务器上配置高可用性。我是否需要另一个 SQL Server 来配置高可用性?

SQL Server Native Client 11.0 如何成为其中的一部分?

我知道这是一个广泛的问题,但我正在寻找一个开始。

0 投票
1 回答
3205 浏览

sql-server-native-client - SQL Server 的 OLE DB 提供程序有效,但 SQL Native Client 无效


我的想法已经用完了,所以检查是否有人可以阐明。

  • 2层客户端-服务器应用程序
  • SQL 服务器 2005
  • 工作站:Windows XP
  • 客户端-服务器应用程序 1 使用 SQL OLE DB 提供程序。(提供者=SQLOLEDB.1)
  • 客户端-服务器应用程序 2 使用 SQL Native Client。(System.Data.SqlClient.SqlConnection)

不知何故,应用程序 1 运行良好,但应用程序 2 需要将连接超时设置为 30 秒才能使其正常工作。

使用我从 JohnnyCoder 的Database Connectivity Test with UDL File中学到的技巧,我发现问题出在驱动程序的某个地方。当我尝试 Microsoft OLE DB Provider for SQL Server 时,它会立即连接。当我尝试 SQL Native Client 时,它不需要很长时间。即使我将连接超时设置为 60,它也会失败。

这两个应用程序都可以在其他安装上运行良好,但在一个特定站点上却不行。所以它必须与一些环境设置有关,例如安全、防火墙等。

我尝试在工作站上安装新的 SQL Server 2005 Native Client。没运气。

所以我的问题是:

  1. 当客户端实际上无法连接时,为什么应用程序 2 会使其工作?当 SQL Native Client 超时发生时,是否有使用 OLE DB 的内部逻辑?
  2. 你还要看什么?
0 投票
3 回答
1213 浏览

sql-server-2008 - 提示数据源和密码

PromptDataSource用来允许用户设置数据库连接。

但是,在使用SQL Server Native Client 10.0提供程序时,我无法使用“允许保存密码”

在此处输入图像描述

PromptDataSource使用该提供程序时,返回带有 的字符串Persist Security Info=False,并省略密码:

Provider=SQNCLI10.1;Integrated Security="";Persist Security Info= False ;User ID=MGH;Initial Catalog="";Data Source=stackoverflow.com;Initial File Name="";Server SPN=""

我尝试过的其他提供程序有效,我该怎么做才能解决这个问题?

注意:我相信提供程序是随 MS SQL Server 2008 R2 一起安装的。

0 投票
0 回答
330 浏览

pyodbc - 无法通过 pyodbc 插入长度超过 257 个字符的文本字段的记录

我有一个版本为 10.50.4000 的 SQL 服务器。我使用 SQL Server Native Client 11.0 驱动程序通过 pyodbc 从 linux 连接到它。这是表定义。

'WSDL' 字段用于保存 Web 服务的模式。我已经阅读了架构文件并将其存储到一个字符串中。但是当我尝试将记录插入数据库服务器时,我收到以下错误消息:

Traceback(最近一次调用最后一次):文件“”,第 1 行,在 pyodbc.DataError 中:('22001','[22001] [Microsoft][SQL Server Native Client 11.0]String data,右截断(0)(SQLExecDirectW) ')

这是我执行的命令:

cursor.execute("""insert into ctm.services (id, Name, ServiceDescription, Version, Status,StatusDescription, WSDL, WADL, XSD, CreatedBy, CreatedOn, CreatedAt, UpdatedBy, UpdatedOn,UpdatedAt, deleted) values(?, ? , ?, ?, ?, ?, ?, ?, ?, ?,current_timestamp, ?, null, null, null, ?) """, 'abcdefghijklmn', 'whatservice', 'testing', '1.0.0' , 'active', '', 'NOTES!!!这应该是模式文件上下文。但由于某种原因无法显示。所以我在这里输入垃圾消息', 'null', 'null', getpass.getuser (), socket.gethostname(), '0')

当 WSDL 的字符串大小小于 257 个字符时,我可以将记录插入数据库服务器。如果大于 257,则失败。但是我们可以看到,WSDL 的字段类型是文本。它允许 2147483647 个字符。请检查以下调试输出:

之前用wireshark调试,发现sql命令没有发送到sql server。所以错误信息一定来自 SQL server Native Client 驱动。

我试图用谷歌搜索解决方案,但找不到任何东西。有没有人遇到过同样的问题?

PS 我曾在 Microsoft SQL Server Management Studio 下尝试过相同的命令。它没有任何问题。所以问题可能来自 ODBC 驱动程序或 ODBC 驱动程序和 pyodbc 之间的不匹配。

0 投票
1 回答
1753 浏览

sql-server - 使用“本机客户端 10”访问“sql server 2012”

我正在使用本机客户端 10.0 在测试环境中从 Windows XP 访问 Sql Server 2012,直到现在都成功。Microsoft 建议将 XP 机器升级到 Windows 7 或 8 以安装 Native Client 12。我想听听任何使用与我相同的解决方案的人的意见,或者是否有明确的问题不将 natve 客户端 10.0 与 Sql Server 2012 一起使用。

0 投票
0 回答
2175 浏览

php - CDbConnection 未能打开数据库连接

我找到了很多关于这个问题的答案,并且在 stackoverflow 中也提出了这个问题,但是这些答案并不能解决我的问题。

他们在论坛和问答网站上告诉的将 PHP 与 MS SQL Server 连接的方法,我正在使用相同的方法,但在 YII 框架中出现以下错误

CDbConnection 无法打开数据库连接:SQLSTATE[IMSSP]:此扩展需要 Microsoft SQL Server 2012 Native Client ODBC 驱动程序才能与 SQL Server 通信。访问以下 URL 以下载适用于 x86 的 Microsoft SQL Server 2012 Native Client ODBC 驱动程序:http: //go.microsoft.com/fwlink/ ?LinkId=163712

  • 我已经从上面给定的链接安装了 Microsoft SQL Server 2012 Native Client ODBC 驱动程序。
  • 我在 php.ini 中包含了以下几行

扩展=php_sqlsrv_54_ts.dll

扩展=php_pdo_sqlsrv_54_ts.dll

  • 我已将上述 dll 保存在 php/ext 文件夹中。

但我仍然收到此错误。此外,我还在 Windows 的管理工具中的 ODBC 数据源管理器中创建了一个系统 DSN。

但我没有找到我的问题的解决方案。

请帮我解决这个问题。

谢谢!

0 投票
0 回答
674 浏览

c++ - SQLDescribeParams 函数调用 - SQL Server Native Client 11.0 驱动程序失败并显示“无效的对象名称”

我想在 SQL Server 2012 上创建一个临时表并批量插入其中。我并不总是知道创建临时表的参数类型,因此我需要调用 SQLDescribeParam 以便绑定参数。从http://msdn.microsoft.com/en-us/library/ms710188(v=vs.85).aspx复制 SQLDescribeParam 的示例代码后,我正在使用以下精简代码

下面的代码非常适合针对 SQL Server 2012 的“SQL Server Native Client 10.0”ODBC 驱动程序,并且我能够绑定参数并插入到临时表中。但是“SQL Server Native Client 11.0”驱动程序的 SQLDescribeParam 调用失败,并出现以下两个错误:

我需要做什么才能让 SQLDescribeParam 在“SQL Server Native Client 11.0”上运行?

我在 Windows 7 上使用 64 位“SQL Server Native Client”驱动程序。

代码如下:

0 投票
2 回答
789 浏览

sql-server - 如何使用同一台机器上的 sqlcmd 连接到 Microsoft Sql Server 2000、sql server 2005、sql server 2008 和 sql server 2012?

我需要通过 python 脚本连接到不同的 sql server 数据库。我正在尝试使用 sqlcmd 或 sql 本机客户端连接到所有这些数据库。我已经为 sql 2005 和 2008 安装了本机客户端,但我看到的只是 sql 本机客户端 11.0。

我正在使用此命令连接到数据库,但出现此错误。

命令 -

错误-

使用相同的用户名和密码,我可以通过管理工作室连接到远程机器上的数据库。

我不确定是什么错误。我是否需要为某些设置或其他内容配置服务器。

我可以使用具有相同用户名/密码的远程计算机上的管理工作室连接到 sql server。

任何帮助表示赞赏。

0 投票
0 回答
449 浏览

asp-classic - 经典asp IIS 7.5 sql server 性能

我们一直在使用这个使用经典 asp 的外部程序,以及运行 IIS 7.5 的 windows server 2008R2 上的 sql server express 2008R2

它一直运行良好,直到上个月几乎每个页面都需要至少 2 分钟才能加载。如果我重新启动网络服务器,前几分钟一切正常,直到它回到相同的旧问题。该应用程序似乎在 2 分钟后重置了某些设置,然后它能够​​响应。我不确定那将是什么设置。

我尝试设置失败的跟踪请求,发现它从未完成,或者更确切地说,日志文件从未捕获错误。(即使增加了日志文件的大小。我尝试了多次)

该程序正在使用 SQL server 本地客户端 10 与 sql server 对话。我玩过连接池,将应用程序池从经典更改为集成,反之亦然。这似乎不是数据库问题,因为活动监视器没有显示太多消耗,我看到的 sql server 等待状态是 ASYNC_NETWORK_IO 和 PREEMPTIVE_OS_WAITFORSINGLEOBJECT,这与客户端如何处理从数据库服务器发送的结果有关.

我正在寻找有关如何调试此问题的建议。我的猜测必须是从asp到sql server的连接方式。

提前致谢。