Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: Henrynr 16 Června 2009, 00:54:19
-
Prosím o pomoc:
Na VirtualBoxu (WinXP) jsem si rozchodil Microsoft SQL server 2005. Tento poskytuje data přes ODBC. Na lokálním stroji se k tomuto ODBC zdroji bez problému připojím v PHP přes odbc_connet(), tato část funguje bezvadně.
Problém nastavá ve chvíli, kdy se chci k tomuto ODBC zdroji připojit vzdáleně z hostujícího stroje (Ubuntu 9.04).
Podle různých návodů (např. https://lists.ubuntu.com/archives/ubuntu-users/2005-May/033937.html, http://ubuntuforums.org/showthread.php?p=6956316) se zdá, že nejlepší je použít tzv. FreeTDS ovladač.
Relevantní část /etc/freetds/freetds.conf
[henmssql]
host = 192.168.1.9
port = 1433
tds version = 8.0
Relevantní část /etc/odbcinst.ini
[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
FileUsage = 1
CPTimeout = 5
CPReuse = 5
Relevantní část /etc/odbc.ini
[henmssql]
Description = Henrys pokus on The MSSQL Server
Driver = FreeTDS
Servername = henmssql
Database = POKUS
Bohužel pokus zkrachuje už na testování právě tohoto FreeTDS ovladače:
sqsh -S henmssql -U <user> -P <passwd>
Dostanu chybu:
sqsh-2.1 Copyright (C) 1995-2001 Scott C. Gray
This is free software with ABSOLUTELY NO WARRANTY
For more information type '\warranty'
Open Client Message
Layer 0, Origin 0, Severity 78, Number 41
Unable to connect: Adaptive Server is unavailable or does not exist
A tím končím, protože netuším, proč ten server není vidět.
Firewall mám povypínanej a jinak se na tom vzdáleným virtuálním stroji dostanu na všechny služby (Apache, MySql, ...).
Podle tohoto návodu: http://support.microsoft.com/kb/914277 jsem povolil (aspoň myslím) vzdálený přístup na MS SQL server.
Teď nevím jak dál. Pomůže mi někdo?
-
Ahoj
Mel jsem podobny podobny problem, jen s databazi MySQL a FTP pristupem.
U mne byl problem v typu sitoveho pripojeni. Jake mas sitove pripojeni na virtualu? Pokud mas NAT, a rozchodis na Windows FTP server (napr. CesarFTP), tak se z lokalu (Linuxu) take na dany server pripojis. Ale z jineho PC ne. Neprojde pres NAT. Musis nastavit typ pripojeni pres Bridge, aby dany OS na Virtualu mel vlastni IP adresu.
R.
-
... Jake mas sitove pripojeni na virtualu? Pokud mas NAT, ...
V poslední verzi VirtualBoxu to teď nazývají "Síťový most". Hostující stroj má IP 192.168.1.2 a hostovaný 192.168.1.9
Skutečně je to další stroj v síti. Snadno se připojím i k MySQL serveru, který je na tom hostovaným stroji taky.
-
Pokud mas nastaven Bridge ETH tak je to problem nastaveni te databaze. Ale pokud mas NAT, tak je mozne ze komunikuje hostujici OS s hostovany OS na zaklade preklapeni a pres urcity port (zalezitost Virtualizacniho SW). Takze se na danou databazi dostanes, ale nedostanes se na ni z jineho PC, ktery vlastne dane PC (hostovany OS) nevidi. Mne to dle techto pravidel funguje.
-
Opravdu to není za na NATem a požadavky se "překlápí" dobře.
No, MS SQL server by měl naslouchat na portu 1433. Tak napadlo zkusit nmap a výsledek je:
Starting Nmap 4.76 ( http://nmap.org ) at 2009-06-17 00:13 CEST
Interesting ports on mssql (192.168.1.9):
Not shown: 994 closed ports
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
2869/tcp open unknown
3306/tcp open mysql
Nmap done: 1 IP address (1 host up) scanned in 1.42 seconds
Co znamená, že tam chybí ten port 1433? Že je pro okolní síť uzavřen a poslouchá jenom na lokále (protože vím, že na lokálu to funguje)?
-
jo přesně to to znamená, buď je tam FW, nebo neposlouchá na všech síťových zařízeních
můžeš si udělat most z netcatu (jeden jako listen -l) a na druhý posílat
nebo upravit nastavení ** SQL (nebo to nepoužívat)
-
Tak jsem si ve VirtualBoxu vytvořil další počítač (WindowsXP) v síti. Z toho se bez problémů na MS SQL připojím (přes MS SQL Management Studio) a taky si můžu na tomto stroji vytvořit ODBC zdroj dat.
Z toho jasně vyplývá, že MS SQL server poskytuje svoji službu v síti.
Nicméně jsem si všimnul, že když se připojuju, tak nikde nezadávám IP adresu, ale ten podivnej název serveru, konkrétně:
HENRY/SQLEXPRESS
, kde "HENRY" je název počítače.
Jak ale vytvořit ODBC zdroj dat v Ubuntu? ???