ТопоРУС Опубликовано 9 апреля, 2011 Жалоба Поделиться Опубликовано 9 апреля, 2011 Имеются две MS SQL базы bd1 и bd2. Логин=al. Пароль=1.В bd1 есть таблица dbo.vf1 со столбцами (tab,fio,oklad,stazh)В bd2 есть таблица dbo.vf2 со столбцами (tab,pol,sem_p)Необходимо провести соединение по значению tab.Пишу на JAVA. К базам подключаюсь через JDBC напрямую.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String url = new String("jdbc:sqlserver://127.0.0.1:1433;user=al;password=1");//без указания БДА вот и сам запрос:ResultSet rs = st.executeQuery("SELECT a.tab, a.fio, a.oklad, a.stazh, b.pol, b.sem_p FROM bd1.dbo.vf1 a, bd2.dbo.vf2 b WHERE a.tab = b.tab");Всё работает! Но обе базы находятся на локальном компьютере. Что нужно исправить, если bd2 будет находиться на сетевом компьютере? Ссылка на комментарий
Lakers Опубликовано 9 апреля, 2011 Жалоба Поделиться Опубликовано 9 апреля, 2011 ResultSet rs = st.executeQuery("SELECT table1.tab, table1.fio, table1.oklad, table1.stazh, table2.pol, table2.sem_p FROM bd1.dbo.vf1 table1, bd2.dbo.vf2 table2 WHERE table1.tab = table2.tab");ну можно так=)хм...String url = new String("jdbc:sqlserver://127.0.0.1:1433;user=al;password=1")а здесь нельзя просто указать нужный ip. Ну если нет то можно создать тунель с сетевого компа и работать как с локальной. Ссылка на комментарий
ТопоРУС Опубликовано 9 апреля, 2011 Автор Жалоба Поделиться Опубликовано 9 апреля, 2011 Про первую проблему: не мог разобраться, как создал тему, разобрался сам)) Исправил, но Lakers меня опередил) Но вопрос про сеть остаётся открытыма здесь нельзя просто указать нужный ip.Ну укажу сетевой. Как связаться с локальной базой?Ну если нет то можно создать тунель с сетевого компа и работать как с локальной.Что за тунель? Осуществляется средствами MS SQL?Вообще мне это представляется аналогично первой проблеме, в разделе FORM указать не только БД, но ip. Наверное. Ссылка на комментарий
Lakers Опубликовано 9 апреля, 2011 Жалоба Поделиться Опубликовано 9 апреля, 2011 туннель можно создать программой PuTTY.Здесь одним запросом, как мне кажется, не обойтись. И проблемы возникают из-за неправильной структуры БД, советую её пересмотреть, хорошо бы портировать эти данные в одну БД и не мучится. Ссылка на комментарий
ТопоРУС Опубликовано 9 апреля, 2011 Автор Жалоба Поделиться Опубликовано 9 апреля, 2011 Проблема в том, что это такая лаба. То есть надо делать так, как сказано и ничего другого. Ссылка на комментарий
Lakers Опубликовано 9 апреля, 2011 Жалоба Поделиться Опубликовано 9 апреля, 2011 ну тогда делай в два запроса. Ссылка на комментарий
ТопоРУС Опубликовано 9 апреля, 2011 Автор Жалоба Поделиться Опубликовано 9 апреля, 2011 А если через dataSourse? (средствами Eclipse)В гугле информация есть, но какая то разная, сложно соорентироваться. Ссылка на комментарий
Lakers Опубликовано 10 апреля, 2011 Жалоба Поделиться Опубликовано 10 апреля, 2011 пишется dataSource и это не средства eclipse, это java средства=)и там в один запрос тоже не получится помоему. Ссылка на комментарий
ТопоРУС Опубликовано 10 апреля, 2011 Автор Жалоба Поделиться Опубликовано 10 апреля, 2011 В билдере это через ODBC делается. Можно через одбс и в джава подключится, вот только как там алиасы указываются в form Ссылка на комментарий
ТопоРУС Опубликовано 11 апреля, 2011 Автор Жалоба Поделиться Опубликовано 11 апреля, 2011 ODBC драйвер содержит список баз, но одна по умолчанию. Обращается непосредственно к ней, к другим базам обращается через имя базы.Вот мне интересно стало: есть два драйвера, можно ли их объединить, что бы подключившись к одной, можно было видеть базы другой? Средствами windows Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти