我发现自己在一个工作,我必须与Windows服务器(2012)-我从来没有问题与建立DB连接,但现在我似乎没有找到任何正确的解决方案。
我将向您展示我的连接php代码:
error_reporting(-1); ini_set('display_errors', 1); $DB = array ('dbname'=>"test" , 'user'=> '***' , 'passwort'=> '***', 'host'=>'somelocalnetwork ip 192.**'); $connect = "mysql:dbname=".$DB['dbname']."; host=".$DB['host']; try { $dbh = new PDO($connect,$DB['user'], $DB['passwort']); echo "Connection established.
"; $dbh = null; } catch (PDOException $e) { echo $e -> getMessage(); }
这是我在浏览器中得到的结果:
SQLSTATE[HY000][2002]是一家大型计算机公司。
翻译成英文:
无法建立连接,因为目标机器主动拒绝它。
注意:我下载了mssql驱动程序和sqlsrv驱动程序,并将它们解压缩到/ext/direcoty,将它们包含在PHPINI文件中。但是在检查php_info()时,我没有看到任何mssql或sqlsrv部分。我不知道这是否相关
Windows Server设置为WebServer和普通MicrosoftSQLServer
可能是1)所需的pc授权或2)端口号(可能性较小)。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
或尝试
try
{
if ($db = mysqli_connect($hostname_db, $username_db, $password_db))
{
//do something
}
else
{
throw new Exception('Unable to connect');
}
}
catch(Exception $e)
{
echo $e->getMessage();
}
对于连接问题:
如果总是发生这种情况,它的字面意思是机器存在,但没有服务监听指定的端口,或者有防火墙阻止您。
如果它偶尔发生(您使用了“有时”一词),并且重试成功,很可能是因为服务器有一个完整的“待办事项”。
当您等待在监听套接字上被接受时,您将被置于积压工作中。这种积压是有限的,而且相当短——1、2或3的值并不罕见——因此操作系统可能无法将您的请求排队等待“接受”来使用。
backlog是listen函数的一个参数——在这方面,所有语言和平台基本上都有相同的API,即使是C#one。如果您控制服务器,此参数通常是可配置的,并且可能是从某些设置文件或注册表读取的。调查如何配置服务器。
如果您编写了服务器,您的套接字的接受可能会有繁重的处理,这可以更好地移动到单独的工作线程,以便您的接受总是准备好接收连接。您可以探索各种体系结构选择,以减轻对客户端的排队和顺序处理。
不管您是否可以增加服务器积压,您都需要客户端代码中的重试逻辑来处理这个问题——因为即使有很长的积压,服务器也可能在那个端口上收到很多其他请求。
如果NAT路由器的映射端口耗尽,NAT路由器极有可能会出现此错误。我认为我们可以放弃这种可能性,因为在耗尽之前,路由器有64K个到同一目标地址/端口的同步连接。
要使用sqlsrv连接到sql sever:
<?php
error_reporting(E_ALL);
$serverName = "SuperComputer-PC";
$connectionInfo = array('Database'=>'RiverDatabase', "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn) {
"Connection established.<br />";
}else {
"Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
?>
从以下站点下载php SQL Server:http://www.microsoft.com/en-za/download/details.aspx?id=20098
我使用的是5.4,但这应该适用于5.5,我不确定5.6是否有驱动程序,但如果有,那就太好了。
给出的消息是; 不能 如何建立连接? 可能的解决方案是什么?
问题内容: 我正在尝试从MS AD中检索一些信息:特定分支机构的成员,部门名称,职位等。 我使用了很多示例,包括Apache Directory LDAP API 和UnboundID,但是我无法与AD建立连接。 RDN: 为了进行搜索,我使用以下过滤器: 当我使用中的数据创建目录上下文时,出现异常: 如果未指定密码,则会出现以下异常: 我已验证我的帐户未锁定。 根据常见的活动目录LDAP绑定错误
我在docker中运行了elasticsearch 8.1,其中包含以下docker compose文件: 我正在尝试使用org.elasticsearch.client.RestClient向es集群发出一个简单的GET请求。 请求: Rest客户端初始化: 主要方法: buildClusterHosts()方法正确地构建了一个HttpHost数组(在本例中只有一个),并将其提供给rest客户端
我正在尝试将Travis CI集成到我的rails应用程序中。在我的本地机器(ubuntu,windows)上一切工作都很好,但是在travis主机上有一个连接错误。下面是我的配置。 正在创建myapp_postgres_1 无法连接到服务器:连接被拒绝服务器是否在主机“Postgres”(172.18.0.2)上运行并接受端口5432上的TCP/IP连接?无法为{“adapter”=>“post
我正在为Swift使用框架。我试图通过websockets API连接,我有一个方法,它在的中被调用。我已经全局声明了我的manager和socketClient,我将把方法的代码放在下面: 我面临的问题是没有调用回调,因此无法发出ping消息。以下是日志: 2018-02-18 19:02:20.589916+0530股票-蛋糕[10965:3662189]日志SocketManager:添加引
你好在我的代码它打破了我的请求,我尝试了几次,但1-2小时后bot状态不再改变。 我在ftp服务器上托管这些文件。 以后从未检索到任务异常:异常=ConnectionError(MaxRetryError(“HTTPConnectionPool(host='username.mydomain',port=80”):url超过最大重试次数:/project/total_visit/count.txt