ADO无法使用本机客户端(SQLNCLI)访问SQL Server XML类型列
|
我正在使用ADO和一个“本机”驱动程序(例如SQLNCLI,SQLNCLI10,SQLNCLI11)连接到SQL Server(而不是旧的SQLOLEDB驱动程序). ADO不了解本机驱动程序公开的XML SQL Server数据类型: field: ADOField; field := recordset.Fields.Items["SomeXmlColumn"]; 尝试访问field.Value会抛出EOleException: >来源:Microsoft Cursor Engine 本机客户端驱动程序(例如SQLNCLI,SQLNCLI11)将ADO的Xml数据类型呈现为 field.Type_ = 141 //??? 旧版SQLOLEDB驱动程序将ADO的Xml数据类型显示为adLongVarWChar,即unicode字符串: field.Type_ = 203 //adLongVarWChar 字段中包含的VARIANT值.值是 TVarData(field.Value).vtype = 8 //VT_BSTR 在我看来,这是ADO(Windows 7 SP1)中的一个错误,而不是我可以解决的问题. 我该如何解决? 奖金阅读 > Delphi with SQL Server: OLEDB vs. Native Client drivers 解决方法MSDN documentation说
因此,要在Native Client中启用新的SQL Server功能,您需要在连接字符串中添加以下关键字: Provider=SQLNCLI11 DataTypeCompatibility=80 其中DataTypeCompatibility:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 合并SQL脚本文件的方法分享
- SQL Server差异备份取系统权限的相关软件下载
- sql-server – SQL Profiler(SQL Server 2000),如何仅过滤我
- sql – 如何将此LEFT JOIN返回的行数限制为一个?
- sql-server – 对SQL Server中的两列执行双重排序,主要排序
- sql-server – 如何在带有变量的select查询中使用SQL Serve
- SQL Server错误 21002: [SQL-DMO]用户 * 已经存在问题解决
- sql – 跨同一服务器上的多个数据库进行查询
- sql – alter table然后在单个语句中更新
- sqlserver 局部变量的使用
