我们有基于lan的.Net应用程序与Postgresql 8.1,现在我有任务提供网站上的接口,在基于LAN的数据库上读写两个表我不知道从哪里开始请帮我解决这个问题。< / p>
Lan:Windows NT 2003 。净 Postgresql 8.1
网站: PHP 5.3 MySQL的
答案 0 :(得分:1)
您需要在Postgres上启用远程连接。但要注意安全隐患。
没有全部阅读,但this应该让您了解服务器上的步骤。对于连接器,通常只需要将连接功能指向远程IP。
答案 1 :(得分:1)
以下是如何做到这一点。复制自here:
<?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Could not connect: ' . pg_last_error());
// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Free resultset
pg_free_result($result);
// Closing connection
pg_close($dbconn);
?>
在上面的代码中,将 localhost 替换为Postgres主机的 IP地址。
答案 2 :(得分:0)
在Linux上,需要修改两个文件以允许除localhost以外的连接: postgresql.conf,更改listen_addresses =“*”以接受来自任何地方的连接。然后在pg_hba.conf文件中添加一行,以允许从特定IP或网络访问数据库。如果您不担心安全问题,请输入:
托管所有192.168.1.0/24信任
将允许192.168.1.0/24网络上的任何人访问任何数据库。显然这应该只用于测试你可以到达数据库。将此约束到Web服务器IP地址并使用md5,以便使用加密密码身份验证。