beherit
17.08.2009, 12:08:29
Próbuje na dwa sposoby połączyć się z MSSQLem, serwery na których próbuje:
- iq.pl ma with-mssql, ale przy próbie połączenia: nie mówi do mnie nic.
- localhost: mówi do mnie:
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: -------.pl,1433\SQL01 in C:\xampp\htdocs\test\msconnect.php on line 36
Przy czym pewnie wynika to z innego poziomu błedów.
Pytanie jednak, czemu z softu z connection stringiem takim samym mogę połączyć się z tym serwerem.
include("adodb5/adodb.inc.php");
$db = NewADOConnection('mssql');
$db->Connect("----,1433\\SQL01", "-------", "-----", "---");
$result = $db->Execute("select ProductID, ProductName, Price from dbo.StoreProduct");
if ($result === false) die("failed");
while (!$result->EOF) {
for ($i=0, $max=$result->FieldCount(); $i < $max; $i++)
print $result->fields[$i].' ';
$result->MoveNext();
print "<br>n";
}
$linkMssql = mssql_connect('------,1433\\SQL01', '------', '-------') or die('MSSQL Error on Line '.__LINE__.': '.mssql_error());
if ($linkMssql) {
print ("Połączono. <br />");
} else {
print ("Brak połączenia. <br />");
}
if (mssql_select_db('klimatsklep', $linkMssql)) {
print ("Wybrano bazę. <br />");
} else {
print ("Nie można wybrać bazy. <br />");
}
mssql_select_db('--------',$linkMssql) or die('MSSQL Error on Line '.__LINE__.': '.mssql_error());
$zapytanie = "select ProductID, ProductName, Price from dbo.StoreProduct";
$wynik = mssql_query($zapytanie, $linkMssql);
while ($row = mysql_fetch_array($wynik, MSSQL_ASSOC)) {
printf("ID: %s Nazwa: %s", $row["ProductID"], $row["ProductName"]);
}
mysql_free_result($result);
vokiel
17.08.2009, 12:49:05
Na początku:
Panel sterowania -> Narzędzie administracyjne -> Źródła danych ODBC
Tam dobrze ustawić sterownik DSN użytkownika dla danego połączenia (być może działa bez, dawno temu to ustawiałem, i chyba coś nie działało bez tego)
W xamppie miałem problem z biblioteką do MSSQL'a (ntwdblib.dll), trzeba było ściągać nową, ładować w systemie.
Następnie korzystam z takiego połączenia:
$connection_string = 'DRIVER={SQL Server};SERVER=SERWER\SQL;DATABASE=WAPRO';
$user = 'sa';
$pass = '123';
$this->connection = odbc_connect( $connection_string, $user, $pass );
beherit
17.08.2009, 13:50:09
Problem tkwi w tym, że finalnie ma to chodzić na OSach *nixowych współdzielonych więc jakoś ciężko widzę późniejszą migrację z tak napisanym softem w sposób bezproblemowy.

Jakieś inne pomysły?
Pozdr,
p.
beherit
17.08.2009, 15:15:14
Chętnie, ale bardzo ciężko znaleźć taki hosting współdzielony.

a sprawdzane było sporo - około 30.
erix
17.08.2009, 15:37:58
O ile się orientuję, to do Unixów pozostaje jakiś sterownik ODBC dla MSSQL.
W PL takich serwerów nie znajdziesz, wiele hostingów w Wielkiej Brytanii oferuje usługi z MSSQL.
beherit
17.08.2009, 16:20:41
Chętnie, tylko jak bez uprawnień do narzędzi admina coś takiego odpalić. W końcu to sprawy globalnej konfiguracji serwera - a może googiel mnie wprowadza w bład i jednak się da?
erix
17.08.2009, 16:51:39
To nie możesz napisać do administratora konkretnego hostingu...?
beherit
17.08.2009, 18:50:37
Mogę i pisałem do kilkunastu z pytaniem, czy choćby jest obsługa MSSQL w jednej z dwóch postaci --with-mssql lub pdo z driverem. I z pytaniem, czy w razie czego moga dokompilować... kiepsko

nikt się nie skusił.
Pozdr,
p.
erix
17.08.2009, 18:53:42
Do MSSQL szukaj hostingu z Windows.