ODBC_CONNECT连接SQLSERVER2000查询不出结果集怎么办?

ODBC_CONNECT连接SQLSERVER2000查询不出结果集怎么办?ODBC_CONNECT是一个非常方便的php数据库连接函数,但这个函数用起来, 经常会出现微软系统常见的莫名其妙的错误 让你无从查找。现在就给大家分析如果使用ODBC_CONNECT函数连接SQLSERVER2000查询不出结果集的解决方法。

odbc_connect ( string $dsn , string $user , string $password [, int $cursor_type ] ) : resource

其他ODBC函数需要此函数返回的连接id。只要使用不同的数据库或不同的凭据,就可以同时打开多个连接。
对于某些ODBC驱动程序,执行复杂的存储过程可能会失败,错误类似于:“无法打开存储过程上的游标,该存储过程中除了一个select语句外,还有其他任何内容。”。使用SQL_CUR_USE_ODBC 这个常量可以避免这个错误。另外,有些驱动程序不支持odbc_fetch_row()中的可选row_number参数。在这种情况下,常量SQL_CUR_USE_ODBC 可能也有帮助。

参数

dsn

连接的数据库源名称。或者,可以使用无DSN的连接字符串。

user

数据库用户名

password

数据库密码

cursor_type

这将设置用于此连接的游标类型。此参数通常不需要,但对于解决某些ODBC驱动程序的问题非常有用。为cursortype定义了以下常量:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

在万维景盛为客户处理的一个案例中 程序就是因为使用了SQL_CUR_USE_ODBC参数结果导致无法读取结果集 但windows系统没有任何报错和提示 无奈之下 只好将此参数换成SQL_CUR_USE_DRIVER或者SQL_CUR_USE_IF_NEEDED或者干脆去掉 问题即可解决。估计这是因为ODBC组件无法对数据库进行游标操作 而将游标操作交给SQL SERVER驱动器即可完成这个任务。

如果您有SQL2000或者php+sql server的奇葩项目需要维护 欢迎联系万维景盛客服 我们将为您提供维护+故障解决+升级到新兼容系统的完整解决方案。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

SQL SERVER2012数据库

宝塔面板怎样安装收费版SQL SERVER

宝塔面板怎样安装收费版SQL SERVER?大家知道,宝塔主机管理面板是国内著名的服务器管理面板,可以一键开设虚拟主机并创建ftp和数据库账号,非常方便。但是遗憾的是,宝塔面板自带的sql server数据库是express版,也就是免费简装版,自动任务、备份代理等高级功能不能用,那么怎么在宝塔系统内安装SQL SERVER企业版呢?现在以MSSQL2012为例,介绍一下方法。

阅读更多 »
SQL SERVER2012数据库

宝塔面板怎样安装收费版SQL SERVER

宝塔面板怎样安装收费版SQL SERVER?大家知道,宝塔主机管理面板是国内著名的服务器管理面板,可以一键开设虚拟主机并创建ftp和数据库账号,非常方便。但是遗憾的是,宝塔面板自带的sql server数据库是express版,也就是免费简装版,自动任务、备份代理等高级功能不能用,那么怎么在宝塔系统内安装SQL SERVER企业版呢?现在以MSSQL2012为例,介绍一下方法。

阅读更多 »
lumen-laravel

Lumen和Laravel有什么区别?如何选择?

Lumen和Laravel有什么区别?如何选择?Lumen和Laravel都是php框架,他们二者有什么区别呢?使用方法上是否通用呢?其实这是两个同源的php框架,在使用方法上基本一致,只是有些细微的差别。

阅读更多 »
阿里云虚拟主机

怎样在阿里云虚拟主机上安装thinkphp5绑定目录public?

怎样在阿里云虚拟主机上安装thinkphp5绑定目录public?thinkphp5项目上传到阿里云虚拟主机(使用Linux系统)后,域名默认访问的空间根目录,大多虚拟主机都是不能修改网站根目录的。那怎么办呢?万维景盛工程师为您分享解决方法。其实我们可以可以通过修改.htaccess虚拟主机配置文件来实现。

阅读更多 »