2

php adodb を使用して MSSQL サーバーに接続しようとしている Linux サーバーがあります。

include('adodb5/adodb.inc.php'); 

$conn =& ADONewConnection('odbc_mssql');
$dsn = "Driver={SQL Server};Server=MSSERVER;Database=Northwind;";
$conn->Connect($dsn,'sa','password')or die("Unable to connect to server");

yumなどを介してmssqlをインストールしましたが、次のことを試したので、サーバーが接続できることがわかりました。

$db = @mssql_connect("MSSERVER","sa","password") or die("Unable to connect to server");
mssql_select_db("Northwind");

// Do a simple query, select the version of 
// MSSQL and print it.
$version = mssql_query('SELECT @@VERSION');
$row = mssql_fetch_array($version);

echo $row[0];

// Clean up
mssql_free_result($version);

私のadodbが接続しない理由、または接続方法の例を教えてください。

4

3 に答える 3

6

このフォーラムを見て解決しました: http://ourdatasolution.com/support/discussions.html?topic=4200.0

正しいコードは次のとおりです。

<?php
include("adodb5/adodb.inc.php"); 
//create an instance of the  ADO connection object
$conn =&ADONewConnection ('mssql');
//define connection string, specify database driver
$conn->Connect('xxx.xxx.x.xxx:1400', 'user', 'password', 'DbName');
//declare the SQL statement that will query the database
$query = "select * from table";
$rs = $conn->execute($query);
//execute the SQL statement and return records
$arr = $rs->GetArray();
print_r($arr);
?> 

それが他の誰かを助けることを願っています。

于 2012-06-06T12:12:09.627 に答える
2

上記の php 5.3 では、php_mssqlモジュールは Windows でサポートされなくなりました。

解決策は、 http://www.microsoft.com/en-us/download/details.aspx? id= 20098 から MicroSoft PHP ドライバーをダウンロードすることです。

このインストーラは、modul dll ファイルを php 拡張ディレクトリに抽出します。

正しいバージョンを php ini に含めます (例: php 5.3 ThreadSafe の場合はこのように):

extension=php_sqlsrv_53_ts.dll  

この後、adboDb を再度使用できますが、mssqlnativeadodbtype として使用する必要があります。そして、IPとポートとの接続はうまくいきませんでしたが、ipaddress\\SERVERNAMEうまくいきました(サンプルコードを参照)

<?php include("adodb5/adodb.inc.php");  
//create an instance of the  ADO connection object
$conn =&ADONewConnection ('mssqlnative'); 
//define connection string, specify database driver 

// $conn->Connect('xxx.xxx.x.xxx:1400', 'user', 'password', 'DbName'); 
$conn->Connect('xxx.xxx.x.xxx\\SERVERNAME', 'user', 'password', 'DbName'); 

//declare the SQL statement that will query the database 
$query = "select * from table"; 
$rs = $conn->execute($query); 
//execute the SQL statement and return records 
$arr = $rs->GetArray(); 
print_r($arr); ?>
于 2014-10-21T09:13:16.830 に答える
0

PHP 7.4 の場合、ドライバーは次の場所からダウンロードできます。

https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver15

ファイルを php インストールの ext ディレクトリにコピーします。次に、php.ini ファイルに次のように拡張子を追加します。

extension=php_pdo_sqlsrv_74_ts_x64
extension=php_sqlsrv_74_ts_x64

この拡張機能には、SQL Server 用の ODBC ドライバーもインストールする必要があります: https://docs.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-サーバー-ver15

于 2021-06-24T07:56:43.273 に答える