1

我有一个包含正确信息的 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 Driver][SQL Server] 用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。,odbc_vertices 中的 SQLConnect 中的 SQL 状态 28000。第 4 行的 php 无法连接到 ODBC 数据库!

我试图弄清楚应该在 odbc_vertices.php 文件中更改什么以使连接成功。任何帮助,将不胜感激

4

1 回答 1

0

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

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

$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/找到

我的另一个想法是数据库内的用户权限未正确设置以允许正确的用户名访问数据库

于 2013-08-06T08:24:39.553 回答