Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hubungkan PHP ke MSSQL melalui PDO ODBC

Ada beberapa file konfigurasi yang perlu Anda siapkan. /etc/odbc.ini , /etc/odbcinst.ini dan /etc/freetds/freetds.conf (lokasi ini valid untuk Ubuntu 12.04 dan mungkin benar untuk sebagian besar *nix).

Anda harus menginstal unixodbc dan freetds (tidak yakin apa nama paket di CentOS). Di Ubuntu ini akan menjadi apt-get install unixodbc tdsodbc .

Untuk bantuan menginstal ini, lihat pertanyaan ini Tidak Dapat Menginstal FreeTDS melalui Yum Package Manager

/etc/odbc.ini (file ini mungkin kosong)

# 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 (atau Anda dapat menemukannya di /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

Anda mungkin harus mengubah tds version = 7.1 baris di atas tergantung pada versi MSSQL Anda.

Anda harus memulai ulang Apache setelah melakukan perubahan ini.

Dalam kode PHP Anda, Anda akan membuat objek PDO Anda seperti ini:

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

Perhatikan bahwa nama pengguna Anda mungkin harus dalam format:domain\username .

Selain itu, Anda akan tahu bahwa itu berhasil jika Anda menjalankan phpinfo() di halaman Anda dan cari "freetds" yang akan menampilkan bagian mssql dengan freetds terdaftar sebagai Versi Perpustakaan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metode Gratis untuk Memperbaiki Korupsi Indeks SQL Server

  2. Pemilihan Prosesor Praktis untuk Beban Kerja OLTP SQL Server 2014/2016

  3. Memaksa batas waktu kueri di SQL Server

  4. Cara menggabungkan hasil dua kueri menjadi satu kumpulan data

  5. Panduan Lengkap untuk Memperbaiki Kesalahan Database SQL 5243