PHP Microsoft SQL Server Express (2008) Bağlanma Sorunları Having

1 Cevap php

Gibi başlık diyor, ben bir PHP komut dosyası gelen MSSQL bağlanma sorunları yaşıyorum.

Kurulum: -

  • PHP bir Apache Linux Server üzerinde çalışıyor.
  • Microsoft SQL Server 2008 bir XP Machine üzerinde.
  • Ben MSSQL Server açık Uzaktan Bağlantıları var.
  • Veritabanı bggs var yok.
  • Veritabanı (Ben yeşil bir ok görebilirsiniz) çalışıyor.
  • Ben XP makine üzerinde hiçbir güvenlik duvarı var.

Eğer herhangi bir hata ayıklama sorunuz varsa sormaktan çekinmeyin.

I'm using the following test script.

<?php
    include('adodb5/adodb.inc.php');
    $db =& ADONewConnection('odbc_mssql');
    $db->debug = true;
    $dsn = "Driver={SQL Server};Server=ozmodiar;Database=bggs;";
    $db->Connect($dsn,'user','password');
    $rs = $db->Execute('select * from admin_users');
    print "<pre>";
    print_r($rs->GetRows());
    print "</pre>";
?>

Getting the following result.

Warning: odbc_connect() [function.odbc-connect]: SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php on line 60 (odbc_mssql): SET CONCAT_NULL_YIELDS_NULL OFF
Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php on line 530 IM002: [unixODBC][Driver Manager]Data source name not found, and no default driver specified

ADOConnection._Execute(SET CONCAT_NULL_YIELDS_NULL OFF, false) % line 1017, file: adodb.inc.php ADOConnection.Execute(SET CONCAT_NULL_YIELDS_NULL OFF) % line 62, file: adodb-odbc.inc.php ADODB_odbc._connect(Driver={SQL Server};Server=192.168.70.130;Database=bggs;, sa, knd121, ) % line 524, file: adodb.inc.php ADOConnection.Connect(Driver={SQL Server};Server=192.168.70.130;Database=bggs;, sa, knd121) % line 9, file: test_db.php

Driver={SQL Server};Server=192.168.70.130;Database=bggs;: [unixODBC][Driver Manager]Data source name not found, and no default driver specified (odbc_mssql): select * from admin_users
Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in /mnt/filestore/vhost/bggs/hr_database/Dev/includes/adodb5/drivers/adodb-odbc.inc.php on line 530 IM002: [unixODBC][Driver Manager]Data source name not found, and no default driver specified

ADOConnection._Execute(select * from admin_users, false) % line 1017, file: adodb.inc.php ADOConnection.Execute(select * from admin_users) % line 10, file: test_db.php

Ölümcül hata: satır 12 / mnt / filestore / vhost / bggs / hr_database / Kalkınma / includes / test_db.php olmayan bir nesne üzerinde bir üye işlev GetRows () Çağrı

1 Cevap

Disclaimer: Ben sadece ADODB veya PDO_DBLIB bir kesinlik ya için freetds sürücülerin sahip ön koşul inanıyorum rağmen, Microsoft SQL Server 2000 verilerini sorgulanan, ancak PDO_DBLIB aracılığıyla ettik.

Ilk hata mesajı bakılırsa, gerekli sürücüler yüklü değilse. Sunucusuna erişmek için uygulama için sırayla, gerekli sürücüleri yüklemek ve ODBC bağlantıları kurmak için izin verecek, freetds yüklemeniz gerekir. Çıkış: http://www.linuxjournal.com/article/6636

Bu ayarlamanız gerekir dikkat etmek önemlidir "tds version = x.x" senin FreeTDS küresel config ya da belirli OBDC bağlantı (debian varsayılan olarak / etc / freetds / freetds.conf) tam olarak doğru, ya da protokol freedtds kullanımları içinde sunucu ile doğru olmayacaktır ve komut bomba olacak.