Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Windows 10上Powerbuilder10中的存储过程调用问题64位_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server Windows 10上Powerbuilder10中的存储过程调用问题64位

Sql server Windows 10上Powerbuilder10中的存储过程调用问题64位,sql-server,sql-server-2008,Sql Server,Sql Server 2008,当DW使用多个参数调用存储过程时,我收到此错误消息: 发生数据仓库错误事件 选择错误。发生错误,但数据库驱动程序未返回任何消息。sqldbcode 999 DB的连接方式如下所示: SQLCA.DBMS=“ODBC” SQLCA.AutoCommit=False SQLCA.DBParm=“ConnectString='DSN=XXX\u prod;UID=aaa;PWD=xxxx'”+“StripParmNames='YES'和CallEscape='No' 使用sqlca进行连接 “XX

当DW使用多个参数调用存储过程时,我收到此错误消息:

发生数据仓库错误事件
选择错误。发生错误,但数据库驱动程序未返回任何消息。sqldbcode 999

DB的连接方式如下所示:

  • SQLCA.DBMS=“ODBC”
  • SQLCA.AutoCommit=False
  • SQLCA.DBParm=“ConnectString='DSN=XXX\u prod;UID=aaa;PWD=xxxx'”+“StripParmNames='YES'和CallEscape='No'
使用sqlca进行连接

“XXX_prod”是SQL Server的32位ODBC数据源DSN

以前,它在Windows7上是“OLEDB”,但在Windows10上,我必须更改为使用ODBC

从此时起,发生了以下错误:

“发生DW错误事件”,
“选择错误。发生错误,但数据库驱动程序未返回任何消息。sqldbcode 999”)

这是dw调用的过程
aaa.sp_dw_xxx

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE [aaa].[sp_dw_xxx] 
    (@as_st_ym varchar(8), 
     @as_yymmdd varchar(8), 
     @as_yymmdd2 varchar(8), 
     @as_model varchar(20), 
     @as_pn varchar(20), 
     @as_brand varchar(20) ,
     @as_product varchar(20) ='%')
AS
    SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

    SELECT 
    FROM   
    WHERE
这是导出的DW源的代码:

.
.
procedure="1 execute aaa.sp_dw_xxx;1 @as_st_ym = :as_st_ym,  @as_yymmdd = :as_yymm, @as_yymmdd2 = :as_yymm2, @as_model=:as_model, @as_pn = :as_pn,@as_brand = :as_brand ,@as_product = :as_product" arguments = (("as_st_ym", string),("as_yymm", string), ("as_yymm2", string),("as_model", string), ("as_pn", string), ("as_brand", string),("as_product", string)))
.

与这个问题并不相关,但您不应该将您的过程命名为“sp_”,它有一个特殊的含义。SQL Server 2008已经过了生命的尽头。一般来说,每个过程都应该将“set nocount on”作为第一条语句。“阅读未提交”?你真的,真的了解它的作用,它可能产生的错误,它可能返回的错误信息吗?以字符串形式发送日期?使用两位数的年份?和过时/不受支持的工具-我看到各种各样的问题等着你。