Ich ziehe Daten von einem MSSQL-Server über PDO auf einem Unix-System heraus. Nachdem ich den Easysoft ODBC-Treiber ausprobiert habe, der wie vorgesehen funktioniert (aber teuer!), Probiere ich FreeTDS aus, bevor wir uns zum Kauf einer Lizenz verpflichten.FreeTDS MSSQL nvarchar (max) Ausgabe
Der Versuch, Daten aus dem SQL-Server, der auf nvarchar (MAX) festgelegt ist, zu ziehen - es kommt als einige sehr seltsame Zeichen, anstatt was erwartet wird. Ich kann die Spaltentypen in der Datenbank nicht bearbeiten.
Zum Beispiel, ein Wert im Feld nvarchar (max) ist auf "admin" gesetzt, kommt aber als "> ÷ Ý" - alle anderen Spaltentypen scheinen zu funktionieren OK.
Um dies zu beheben mit dem Easysoft-Treiber, hatte ich aus FreeTDS „VarMaxAsVarchar“, um auf (http://www.easysoft.com/products/data_access/odbc-sql-server-driver/manual/configuration.html)
Gibt es eine ähnliche Einstellung zu setzen?
Als Referenz stelle ich eine Verbindung zu einer Microsoft SQL Server 2012-Datenbank her, wobei TDS Version auf 7.4 eingestellt ist. Hier
ist die Konfigurationsdateien:
/etc/freetds.conf:
[global]
# TDS protocol version
tds version = 7.4
# If you get out-of-memory errors, it may mean that your client
# is trying to allocate a huge buffer for a TEXT field.
# Try setting 'text size' to a more reasonable limit
text size = 64512
[mssql_freetds]
host = xxxxx
port = xxxx
tds version = 7.4
/etc/odbc.ini
[mssql_freetds]
Driver=FreeTDS
Description=MSSQL FreeTDS
Server=xxxxx
Port=xxxx
TDS_Version = 7.4
Irgendwelche Gedanken?
prüfen verpasst 'N' wörtliche vor allen String-Ressourcen ... – Devart
Welche Version von FreeTDS verwenden Sie? v1.0 steht kurz vor der Veröffentlichung und ist die einzige Version, die die Version 'TDS_Version' 7.4 unterstützt: https://github.com/FreeTDS/freetds/blob/master/NEWS Andernfalls wird auf Version 7.1 zurückgegriffen. Sie finden unsere Version mit 'tsql -C'. – FlipperPA
Hi @FlipperPA mit v0.95.91 - nicht realisiert, dass v1 in Produktion war. Soll ich warten, da dies auf einem Produktionsserver ist? – spirie