2010-03-25 71 views
0

我试图在两台W2003服务器中使用镜像实现SQLServer 2005。我们使用的应用程序似乎不适用于SQLNCLI驱动程序。当我执行一个应该返回一个XML结果的过程时,我会看到一些看起来像二进制/列结果的东西。但是,使用旧的连接字符串(不支持镜像),它工作得很好。SQL Server 2005 Native Client + ADO + XML

Connection string NOT working OK: 
Provider=SQLNCLI;Data Source=123.123.123.123;Database=PAT;UID=xxxxxx;PWD=xxxxxx; 

Connection string working OK, but NOT supporting mirroring: 
Driver={SQL SERVER};Server=123.123.123.123;Database=PAT;UID=xxxxxx;PWD=xxxxxx; 

Results I get from the server when using SQLNCLI: 
D?FechaInicialMuestreo?FechaFinalMuestreo?TotalTrx?NroProducto?ProdDescripcion?CodRespuesta?CodRespuestaDesc?PorActualIncidencia?NivelStandarPor?XS_CHECK_ERR?CONCEPTO???????? 

Results I should get, and do get if I use the old connection string: 
<XS_CHECK_ERR FechaInicialMuestreo="2010-03-25T15:46:51.223" FechaFinalMuestreo="2010-03-25T16:21:12.753" TotalTrx="0"/> 

方法,用这样的代码sp_xml_preparedocument中,SELECT ... FROM OPENXML等

我不知道还有什么地方可以看。该应用程序是使用ADO(“ADODB.Connection”)在VC++ 6.0中编写的。

感谢您的任何提示。

+0

更多信息:一个像这样简单的查询会重现该行为: SELECT 1 AS TAG,作为父母的NULL,'BYE'“ROOT!1”FOR XML EXPLICIT; 结果是带有ODBC的' BYE',但带有SQLNCLI的二进制值。 – 2010-03-26 12:31:25

回答

0

OK,我刚刚找到了答案here

SQL本机客户端不包含XML集成。 SQL Native Client支持SELECT ... FOR XML查询,但不支持任何其他XML功能。但是,SQL Native Client不支持新的SQL Server 2005 xml数据类型。

我现在试图找到一种与旧的MSDASQL提供程序和{SQL Server}驱动程序一起使用故障切换切换的方法(如果有的话)。

相关问题