Difference between revisions of "MSSQL"
From Limbas Wiki
(Diese Seite wurde zum Übersetzen freigegeben) |
|||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | <-- | + | <translate> |
+ | <!--T:1--> | ||
+ | [[Hauptseite]] | ||
+ | |||
+ | <!--T:2--> | ||
---- | ---- | ||
− | ==MSSQL nutzen können== | + | ==MSSQL nutzen können== <!--T:3--> |
Grundsätzlich muß Limbas auf einem Linux-Betriebsystem und die Datenbank auf einem Windows-Betriebsystem installiert werden. | Grundsätzlich muß Limbas auf einem Linux-Betriebsystem und die Datenbank auf einem Windows-Betriebsystem installiert werden. | ||
Ebenso muß der Port und die TCP-IP Verbindung der Datenbank aktiviert und gegebenenfalls angepasst werden. | Ebenso muß der Port und die TCP-IP Verbindung der Datenbank aktiviert und gegebenenfalls angepasst werden. | ||
Als Treiber dient der frei verfügbare http://www.freetds.org/ | Als Treiber dient der frei verfügbare http://www.freetds.org/ | ||
− | ==freetds anpassen== | + | |
+ | |||
+ | ==freetds== <!--T:4--> | ||
+ | ===Bezugsquelle=== | ||
+ | freetds kann unter http://www.freetds.org bezogen werden. Das Paket steht unter der GPL2 Lizenz.<br /> Eine für Limbas angepasste und getestete Version ist unter https://sourceforge.net/projects/limbas/files/tools/freetds-0.83-alias.tar.gz/download verfügbar. Andere oder neuere Versionen müssen nach unterer Anleitung möglicherweise noch angepasst werden. | ||
+ | |||
+ | ===freetds anpassen=== <!--T:5--> | ||
Bevor freetds installiert wird muß der folgende Patch angewendet werden: | Bevor freetds installiert wird muß der folgende Patch angewendet werden: | ||
http://permalink.gmane.org/gmane.comp.db.tds.freetds/12354 | http://permalink.gmane.org/gmane.comp.db.tds.freetds/12354 | ||
Er sorgt dafür das die Alias Funktionalität korrekt arbeitet. | Er sorgt dafür das die Alias Funktionalität korrekt arbeitet. | ||
− | diff -Nru a/src/odbc/odbc.c b/src/odbc/odbc.c | + | <!--T:6--> |
+ | diff -Nru a/src/odbc/odbc.c b/src/odbc/odbc.c | ||
--- a/src/odbc/odbc.c 2010-03-22 09:42:16.000000000 -0500 | --- a/src/odbc/odbc.c 2010-03-22 09:42:16.000000000 -0500 | ||
+++ b/src/odbc/odbc.c 2010-05-06 16:00:00.000000000 -0500 | +++ b/src/odbc/odbc.c 2010-05-06 16:00:00.000000000 -0500 | ||
@@ -2873,12 +2873,9 @@ | @@ -2873,12 +2873,9 @@ | ||
− | + | } | |
− | + | odbc_set_sql_type_info(col, drec, stmt->dbc->env->attr.odbc_version); | |
− | + | ||
− | + | <!--T:7--> | |
+ | - if (!col->table_column_name) { | ||
- if (!tds_dstr_copyn(&drec->sql_desc_name, col->column_name, col->column_namelen)) | - if (!tds_dstr_copyn(&drec->sql_desc_name, col->column_name, col->column_namelen)) | ||
- return SQL_ERROR; | - return SQL_ERROR; | ||
Line 28: | Line 40: | ||
+ return SQL_ERROR; | + return SQL_ERROR; | ||
+ if (col->table_column_name) { | + if (col->table_column_name) { | ||
− | + | if (!tds_dstr_copy(&drec->sql_desc_base_column_name, col->table_column_name)) return SQL_ERROR; | |
− | + | } | |
− | + | ||
+ | |||
+ | |||
+ | ===benötigte Pakete=== <!--T:8--> | ||
+ | unixodbc | ||
+ | unixodbc-devel | ||
+ | |||
+ | ===freetds kompilieren=== <!--T:9--> | ||
+ | der ODBC Treiber müsste nach der Installation unter /usr/local/lib zufinden sein. | ||
+ | <!--T:10--> | ||
+ | ./configure --with-tdsver=8.0 | ||
+ | make | ||
+ | make install | ||
+ | ===freetds.conf=== <!--T:11--> | ||
Nach der installation wird im Pfad "/usr/local/etc/" die Konfigurationsdatei "freetds" angelegt. Sie kann wie folgt angepasst werden. Dabei wird die IP oder der Domainname des SQL Servers, sowie der Port auf den die Datenbank hört eingetragen. Ebenso sollte man die Zeichenkodierung eintragen. Solange es nicht unbedingt erforderlich ist sollte auf utf8 oder unicode verzichtet werden. Die tds Version 8.0 bezieht sich auf den MSSQL Server ab Version 2005. | Nach der installation wird im Pfad "/usr/local/etc/" die Konfigurationsdatei "freetds" angelegt. Sie kann wie folgt angepasst werden. Dabei wird die IP oder der Domainname des SQL Servers, sowie der Port auf den die Datenbank hört eingetragen. Ebenso sollte man die Zeichenkodierung eintragen. Solange es nicht unbedingt erforderlich ist sollte auf utf8 oder unicode verzichtet werden. Die tds Version 8.0 bezieht sich auf den MSSQL Server ab Version 2005. | ||
− | + | <!--T:12--> | |
− | + | # $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $ | |
[global] | [global] | ||
# If you get out-of-memory errors, it may mean that your client | # If you get out-of-memory errors, it may mean that your client | ||
Line 48: | Line 73: | ||
tds version = 8.0 | tds version = 8.0 | ||
− | ==UNIX ODBC anpassen== | + | ==UNIX ODBC anpassen== <!--T:13--> |
+ | odbc.ini | ||
− | + | <!--T:14--> | |
− | + | [limbas_mssql] | |
Driver = FreeTDS | Driver = FreeTDS | ||
Description = limbas | Description = limbas | ||
Line 58: | Line 84: | ||
Database = limbas | Database = limbas | ||
+ | <!--T:15--> | ||
odbcinst.ini | odbcinst.ini | ||
− | [FreeTDS] | + | |
+ | <!--T:16--> | ||
+ | [FreeTDS] | ||
Description = MSSQL | Description = MSSQL | ||
Driver = /usr/local/lib/libtdsodbc.so | Driver = /usr/local/lib/libtdsodbc.so | ||
Line 68: | Line 97: | ||
CPTimeout = | CPTimeout = | ||
CPReuse = | CPReuse = | ||
+ | |||
+ | |||
+ | ==Rechte== <!--T:17--> | ||
+ | Die Datenbank benötigt noch zusätzliche Rechte für die Systemtabellen: | ||
+ | |||
+ | <!--T:18--> | ||
+ | USE master; | ||
+ | GO | ||
+ | GRANT VIEW SERVER STATE TO limbasuser; | ||
+ | |||
+ | ==testen== <!--T:19--> | ||
+ | isql -v limbas_dsn limbasuser limbaspass | ||
+ | </translate> |
Latest revision as of 14:36, 24 July 2017
Contents
MSSQL nutzen können
Grundsätzlich muß Limbas auf einem Linux-Betriebsystem und die Datenbank auf einem Windows-Betriebsystem installiert werden. Ebenso muß der Port und die TCP-IP Verbindung der Datenbank aktiviert und gegebenenfalls angepasst werden. Als Treiber dient der frei verfügbare http://www.freetds.org/
freetds
Bezugsquelle
freetds kann unter http://www.freetds.org bezogen werden. Das Paket steht unter der GPL2 Lizenz.
Eine für Limbas angepasste und getestete Version ist unter https://sourceforge.net/projects/limbas/files/tools/freetds-0.83-alias.tar.gz/download verfügbar. Andere oder neuere Versionen müssen nach unterer Anleitung möglicherweise noch angepasst werden.
freetds anpassen
Bevor freetds installiert wird muß der folgende Patch angewendet werden: http://permalink.gmane.org/gmane.comp.db.tds.freetds/12354 Er sorgt dafür das die Alias Funktionalität korrekt arbeitet.
diff -Nru a/src/odbc/odbc.c b/src/odbc/odbc.c --- a/src/odbc/odbc.c 2010-03-22 09:42:16.000000000 -0500 +++ b/src/odbc/odbc.c 2010-05-06 16:00:00.000000000 -0500 @@ -2873,12 +2873,9 @@
} odbc_set_sql_type_info(col, drec, stmt->dbc->env->attr.odbc_version);
- if (!col->table_column_name) { - if (!tds_dstr_copyn(&drec->sql_desc_name, col->column_name, col->column_namelen)) - return SQL_ERROR; - } else { - if (!tds_dstr_copy(&drec->sql_desc_name, col->table_column_name)) - return SQL_ERROR; + if (!tds_dstr_copyn(&drec->sql_desc_name, col->column_name, col->column_namelen)) + return SQL_ERROR; + if (col->table_column_name) {
if (!tds_dstr_copy(&drec->sql_desc_base_column_name, col->table_column_name)) return SQL_ERROR; }
benötigte Pakete
unixodbc unixodbc-devel
freetds kompilieren
der ODBC Treiber müsste nach der Installation unter /usr/local/lib zufinden sein.
./configure --with-tdsver=8.0 make make install
freetds.conf
Nach der installation wird im Pfad "/usr/local/etc/" die Konfigurationsdatei "freetds" angelegt. Sie kann wie folgt angepasst werden. Dabei wird die IP oder der Domainname des SQL Servers, sowie der Port auf den die Datenbank hört eingetragen. Ebenso sollte man die Zeichenkodierung eintragen. Solange es nicht unbedingt erforderlich ist sollte auf utf8 oder unicode verzichtet werden. Die tds Version 8.0 bezieht sich auf den MSSQL Server ab Version 2005.
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $ [global] # 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 = 129024 client charset = ISO-8859-1 [tds_mssql] host = 192.168.10.10 port = 1433 tds version = 8.0
UNIX ODBC anpassen
odbc.ini
[limbas_mssql] Driver = FreeTDS Description = limbas Servername = tds_mssql Port = 1433 Database = limbas
odbcinst.ini
[FreeTDS] Description = MSSQL Driver = /usr/local/lib/libtdsodbc.so Driver64 = Setup = Setup64 = UsageCount = 1 CPTimeout = CPReuse =
Rechte
Die Datenbank benötigt noch zusätzliche Rechte für die Systemtabellen:
USE master; GO GRANT VIEW SERVER STATE TO limbasuser;
testen
isql -v limbas_dsn limbasuser limbaspass