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 服务器