2017-05-10 11 views
0

2つのデータベースを1つのシルバーでスクリプトに使用したいが、クエリは機能しません。 マイ・コネクション:Php sqlsrv - 2つ以上のデータベースを使用する方法

$serverName = "12.354.25.5"; //serverName\instanceName 
//first 
$connectionInfo = array("Database"=>"GRQ", "UID"=>"RFUser", "PWD"=>"****", "CharacterSet" => "UTF-8"); 
global $con; 
$con = sqlsrv_connect($serverName, $connectionInfo); 
//second 
$connectionpyr = array("Database"=>"PiF", "UID"=>"greystone", "PWD"=>"****", "CharacterSet" => "UTF-8"); 
global $conpyr; 
$conpyr = sqlsrv_connect($serverName, $connectionpyr); 

最初の接続は、私は、このことにより、選択使用してデータを取得し、正常に動作です:

$SQL = "SELECT id,col1,col8,col9 FROM [dbo].[RF_TableWHERE ID=".$data[$k].""; 
$result = sqlsrv_query($con,$SQL); //it work fine 

2番目の接続を使用するが、私は

$VER = "DECLARE @Debt MONEY, @ResultMsg NVARCHAR(255) 

     EXEC Pyramid.dbo.CheckDebt @AccountNumber =".$numlic.", -- int 

    @PeriodFrom = '".$dstart."', -- date 

    @PeriodTo = '".$dend."', -- date 

    @Debt = @Debt OUTPUT, -- money 

    @ResultMsg = @ResultMsg OUTPUT -- nvarchar(500) 
    "; 

$result2 = sqlsrv_query($conpyr,$VER); 
、ストアドプロシージャを実行してみてください

ただし、取得のみ

無効なパラメータがsqlsrv_queryに渡されました。接続2の

リソースIDが空である(何も)

どのようにこの問題を解決しますか?

答えて

0

1つ以上のデータベース接続がある場合は、db2への接続を開始する前にconnection1を閉じる必要があります。

関連する問題