ODBC错误连接到SQL数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ODBC错误连接到SQL数据库相关的知识,希望对你有一定的参考价值。

我有一个包含正确信息的php文件,我无法弄清楚为什么我无法建立到SQL数据库的ODBC连接?

我有两个文件,我正在尝试创建一个连接到我的数据库的简单网页。

第一个文件(odbc_vertices.php):

   <?php

   //creates an odbc connection and stores it in $odbc variable
   $odbc = odbc_connect ('VERTICES', 'correctusername','correctpassword') or die ( "Could Not Connect to ODBC Database!" );

   ?>

第二个文件(phptest.php):

   <html>

   <head>
   <title></title>
   </head>

   <body>

   <?php


   include 'odbc_vertices.php'; 
   ?>


  <select name='vndr'>
  <option selected>
  <?php
     $query =odbc_exec($odbc_vertices,"SELECT * FROM tblOrder where Receive=No Order  BY TapeType") or die (odbc_errormsg());
            while ($row=odbc_fetch_array($query))
                   


                    echo "<option value='".$row['VendorName']."'>".strtoupper($row ['VendorName'])."</option>";

                   
   ?>
      </select>
      <INPUT TYPE=HIDDEN NAME='nam' SIZE='2'>


      <?php

   odbc_close($odbc_vertices);
   ?>

   </body>

   </html>

但是,当我去测试页面时,我收到此错误:

警告:odbc_connect()[function.odbc-connect]:SQL错误:[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败。,odcc_vertices中SQLConnect中的SQL状态28000。第4行的php无法连接到ODBC数据库!

我试图找出odbc_vertices.php文件中应该更改的内容,以便连接成功。任何帮助,将不胜感激

答案

我的想法是ODBC DSN“Vertices”在机器本身上设置不正确。

我的建议是尝试类似的代码:

$conn = odbc_connect("Driver=SQL Server Native Client 10.0;Server=YOURSERVERDatabase=DATABASE", 'correctusername','correctpassword');
$query = odbc_exec($conn,"SELECT * FROM tblOrder ...") or die (odbc_errormsg());

如果失败,可以在http://www.connectionstrings.com/sql-server/找到其他连接字符串

我的另一个想法是没有正确设置数据库中的用户权限以允许correctusername访问数据库

以上是关于ODBC错误连接到SQL数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 ODBC 连接到 SQL SERVER 时,s-s-rS 错误必须声明标量变量

使用 ODBC 连接到 MYSQL 在 MS-Access 中运行 SQL 时出错

使用 odbc_connect 从 SQLAlchemy 连接到 SQL 服务器

连接到 ODBC 时出现 MS Access 错误

不使用 ODBC 将 Python 连接到 SQL Server

如何使用ODBC数据连接连接到本地SQL Server? (我得到“登录失败”)