Difference between revisions of "MSSQL"

From Limbas Wiki

Jump to: navigation, search
 
Line 1: Line 1:
<-- zurück zu '''[[Datenbank|Datenbank]]''' / <-- zurück zur '''[[Portal:Installation|Installation]]'''
+
<-- zurück zu '''[[Datenbank|Datenbank]]''' / <-- zurück zu '''[[Erweiterte Installation|Erweiterte Installation]]''' / <-- zurück zur '''[[Hauptseite|Hauptseite]]'''
 
----
 
----
  

Revision as of 09:36, 21 June 2013

<-- zurück zu Datenbank / <-- zurück zu Erweiterte Installation / <-- zurück zur Hauptseite


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 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;
 		}


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.

freetds

#   $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         =