कई कॉन्फ़िगरेशन फ़ाइलें हैं जिन्हें आपको सेट अप करने की आवश्यकता है। /etc/odbc.ini
, /etc/odbcinst.ini
और /etc/freetds/freetds.conf
(ये स्थान उबंटू 12.04 के लिए मान्य हैं और संभवत:अधिकांश *निक्स के लिए सही हैं)।
आपको unixodbc
install इंस्टॉल करना होगा और freetds
(सुनिश्चित नहीं है कि CentOS पर पैकेज के नाम क्या हैं)। उबंटू में यह होगा apt-get install unixodbc tdsodbc
।
इन्हें स्थापित करने में सहायता के लिए, इस प्रश्न को देखें यम पैकेज मैनेजर के माध्यम से फ्रीटीडीएस स्थापित नहीं कर सकता
/etc/odbc.ini (यह फ़ाइल खाली हो सकती है)
# 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 (या आप इसे /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
आपको tds version = 7.1
को बदलना पड़ सकता है MSSQL के आपके संस्करण के आधार पर ऊपर की पंक्ति।
इन परिवर्तनों को करने के बाद आपको अपाचे को पुनरारंभ करना होगा।
अपने PHP कोड में आप अपना PDO ऑब्जेक्ट इस तरह बनाएंगे:
$pdo = new PDO("dblib:host=mssql;dbname=$dbname", "$dbuser","$dbpwd");
ध्यान दें कि आपका उपयोगकर्ता नाम प्रारूप में होना चाहिए:domain\username
।
साथ ही, आपको पता चल जाएगा कि यदि आप phpinfo()
. निष्पादित करते हैं तो यह काम करता है अपने पृष्ठ में और "freetds" की खोज करें जो लाइब्रेरी संस्करण के रूप में सूचीबद्ध फ़्रीट के साथ एक mssql अनुभाग दिखाएगा।