簡體   English   中英

mssql_connect 不會連接同一個 SQL Server 上的不同數據庫

[英]mssql_connect will not connect different DB on same SQL Server

$conn_161 = "192.168.0.161";  //local serwer adress
$user_161 = "ME";
$pass_161 = "what_is_the_password?";
$connect_161 = mssql_connect($conn_161,$user_161,$pass_161);
mssql_select_db ( 'DUKENUKEN3D' , $connect_161 );

//as requested - 1st DB connection and 1st query
$q_duke = "select * from DUKE /*DB1*/";
$r_duke = mssql_query($q_wartownik,$connect_161); //result

$connect_different_db = mssql_connect($conn_161,$user_161,$pass_161);
mssql_select_db ( 'BIGMAN' , $connect_different_db );

//second db and query
$q_bigman = "select * from BIGPEOPLE /*DB2*/";
$r_bigman = mssql_query($q_bigman,$connect_different_db ); //result

錯誤:

警告:mssql_query() [function.mssql-query]:消息:對象名稱“DUKE”無效。

是的,我知道mssql_select_db很舊,但我需要在這個項目中使用它。 如您所見,我嘗試連接到同一台服務器,但同時選擇 2 個不同的 DB,並在同一個 php 頁面中運行查詢(連接來自 2 個不同 DB 的數據)。 好像不靠譜? 我什至嘗試在對第二個 DB 進行查詢之前運行mssql_select_db ,然后將其改回第一個 DB。

我知道這是庫的限制(我將從最后選擇的數據庫運行所有查詢)。

有解決方法嗎? 因為我所得到的只是在不可見的 iframe 中創建頁面,並使用不同的數據庫連接運行 php 頁面 - 遠不是好的解決方案。

我希望這與直接在 SQL 環境中運行時一樣(例如,您可以在 SSMS 或從命令行嘗試)。

在查詢中引用表時可以指定數據庫名稱:例如

select * from db1.dbo.DUKE 

每當您想要引用當前數據庫上下文之外的對象時,這是標准的 SQL Server 行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM