微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP的RedHat Linux上用于SQLServer®的Microsoft®ODBC驱动程序11 – 在为存储过程绑定PDO参数时出现错误

没有任何参数,它会正常工作,但是当参数在那里,给出以下错误

sqlSTATE [42000]:语法错误或访问冲突:8018 [Microsoft] [用于sql Server的ODBC驱动程序11] [sql Server]无效的参数4(''):数据types0x23是不赞成使用的大对象或LOB,作为输出参数。 不推荐使用已弃用的types作为输出参数。 使用当前的大对象t(sqlExecute [8018]在/builddir/build/BUILD/PHP-5.3.3/ext/pdo_odbc/odbc_stmt.c:254)

它运行在CentOS 6上,用于sqlServer®的ODBC驱动程序11 – RedHat Linux,unixODBC-2.3.0,MSsql Server 2008 R2

连接string:

一个string上使用awk

将html5页面logging为video

内存被推入向量后损坏

你如何获得一个进程已经运行了多久?

bash – 基于从文件提取的信息移动文件

$con = new PDO("odbc:dsnName",'sa','saa'); $con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);

使用的示例存储过程:

$stmt = $con->prepare( "SET NOCOUNT ON DECLARE @return_value int EXEC @return_value = [sp_insert_into_t_contact_test] @paravalue = ? SELECT 'returnV' = @return_value"); $stmt->bindParam(1,$v1 = 5,PDO::ParaM_STR,100); $stmt->execute(); $return =$stmt->fetch(); echo $return['returnV'];

简单的存储过程返回“123”

[dbo].[sp_insert_into_t_contact_test] @paravalue varchar(100) AS return 123

附加信息 –

odbc.ini文件

[dsnName] Driver=sql Server Native Client 11.0 Description=My Sample ODBC Database Connection Trace=Yes Server=192.168.2.60 Port=1433 Database=NSCDB_3

ODBCINST.INI

[sql Server Native Client 11.0] Description=Microsoft ODBC Driver 11 for sql Server Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-11.0.so.2270.0 Threading=1 UsageCount=1

uevent从内核发送到用户空间(udev)

如何将从linux命令生成的stringinput到variables?

版本'CXXABI_1.3.8'找不到(需要…)

为什么每次从内核模块读取CR3寄存器的内容会有所不同?

UNIX:退出时等待进程subprocess?

最后我找到了解决方案,Microsoft驱动程序已经为C或C ++应用程序开发,PDO参数绑定不能按预期工作。 如果您传递参数而不使用PDO,则所有事情都按预期工作。 @paravalue = N'".$v1."'

前面的例子 – 正常参数绑定 – sqlBindParameter PDO参数绑定 – $stmt->bindParam(1,100);

更正的鳕鱼片段:

$stmt = $con->prepare( "SET NOCOUNT ON DECLARE @return_value int EXEC @return_value = [sp_insert_into_t_contact_test] @paravalue = N'".$v1."' SELECT 'returnV' = @return_value"); $stmt->execute(); $return =$stmt->fetch(); echo $return['returnV'];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐