mssql_connect не будет соединять разные БД на одном и том же SQL Server - PullRequest
2 голосов
/ 09 июля 2019
$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 querey
$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 разные БД и запускаю запросы на одной и той же странице php (для подключения данных из 2 разных БД).Кажется, это не актуально?Я даже пытался запустить mssql_select_db непосредственно перед выполнением запроса ко второй БД, а затем изменить его обратно на первую БД.

Я понимаю, что это ограничение библиотеки (я буду запускать все запросы из LAST, выбранныхБД).

Есть ли работа громкая?Поскольку все, что я получил, это создать страницу внутри невидимого iframe и запустить страницу php с другим подключением к БД - это далеко не хорошее решение.

1 Ответ

2 голосов
/ 10 июля 2019

Я ожидаю, что это будет работать так же, как если бы вы запускали это непосредственно в среде SQL (например, вы можете попробовать это в SSMS или из командной строки).

Вы можете указать имя базы данных, когда ссылаетесь на таблицу в запросе: например,

select * from db1.dbo.DUKE 

Это стандартное поведение SQL Server, когда вы хотите сослаться на объект, который находится вне контекста текущей базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...