Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Połącz PHP z MSSQL przez PDO ODBC

Jest kilka plików konfiguracyjnych, które musisz skonfigurować. /etc/odbc.ini , /etc/odbcinst.ini i /etc/freetds/freetds.conf (te lokalizacje są poprawne dla Ubuntu 12.04 i prawdopodobnie poprawne dla większości *nixów).

Musisz zainstalować unixodbc i freetds (nie jestem pewien, jakie są nazwy pakietów w CentOS). W Ubuntu byłoby to apt-get install unixodbc tdsodbc .

Aby uzyskać pomoc dotyczącą ich instalacji, spójrz na to pytanie Nie można zainstalować FreeTDS za pomocą Menedżera pakietów Yum

/etc/odbc.ini (ten plik może być pusty)

# Define a connection to a Microsoft SQL server
# The Description can be whatever we want it to be.
# The Driver value must match what we have defined in /etc/odbcinst.ini
# The Database name must be the name of the database this connection will connect to.
# The ServerName is the name we defined in /etc/freetds/freetds.conf
# The TDS_Version should match what we defined in /etc/freetds/freetds.conf
[mssql]
Description             = MSSQL Server
Driver                  = freetds
Database                = XXXXXX
ServerName              = MSSQL
TDS_Version             = 7.1

/etc/odbcinst.ini

# Define where to find the driver for the Free TDS connections.
# Make sure you use the right driver (32-bit or 64-bit).
[freetds]
Description = MS SQL database access with Free TDS
Driver      = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
#Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup       = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount  = 1

/etc/freetds/freetds.conf (lub możesz go znaleźć w /etc/freetds.conf)

# The basics for defining a DSN (Data Source Name)
# [data_source_name]
#       host = <hostname or IP address>
#       port = <port number to connect to - probably 1433>
#       tds version = <TDS version to use - probably 8.0>

# Define a connection to the Microsoft SQL Server
[mssql]
    host = XXXXXX
    port = 1433
    tds version = 7.1

Może być konieczna zmiana tds version = 7.1 wiersz powyżej w zależności od wersji MSSQL.

Po wprowadzeniu tych zmian konieczne będzie ponowne uruchomienie Apache.

W swoim kodzie PHP utworzysz swój obiekt PDO w następujący sposób:

$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");

Pamiętaj, że Twoja nazwa użytkownika może być w formacie:domain\username .

Ponadto będziesz wiedział, że zadziałało, jeśli wykonasz phpinfo() na swojej stronie i wyszukaj „freetds”, co spowoduje wyświetlenie sekcji mssql z freetds wymienionymi jako wersja biblioteki.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdź znaki spoza zestawu ASCII w kolumnach varchar za pomocą SQL Server

  2. Jak przenosić pliki danych w SQL Server — część 1

  3. SQL Server SELECT do istniejącej tabeli

  4. Jak porównać 2 wiersze z tej samej tabeli (SQL Server)?

  5. Jak wyświetlić zapytanie i wyniki w oddzielnej karcie w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL, część 15