diff -Naur ../asterisk-11.0.1/apps/app_voicemail.c ../asterisk-11.0.1_1/apps/app_voicemail.c
--- ../asterisk-11.0.1/apps/app_voicemail.c	2012-09-25 23:13:46.000000000 +0200
+++ ../asterisk-11.0.1_1/apps/app_voicemail.c	2012-11-15 15:01:34.000000000 +0100
@@ -3549,7 +3549,7 @@
 		ast_log(AST_LOG_WARNING, "SQL Alloc Handle failed!\n");
 		return NULL;
 	}
-	res = SQLPrepare(stmt, (unsigned char *) gps->sql, SQL_NTS);
+	res = SQLPrepare(stmt, (unsigned char *) gps->sql, strlen(gps->sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(AST_LOG_WARNING, "SQL Prepare failed![%s]\n", gps->sql);
 		SQLFreeHandle(SQL_HANDLE_STMT, stmt);
@@ -4024,7 +4024,7 @@
 	if (!ast_strlen_zero(data->category)) {
 		SQLBindParameter(stmt, 13, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, strlen(data->category), 0, (void *) data->category, 0, NULL);
 	}
-	res = SQLExecDirect(stmt, (unsigned char *) data->sql, SQL_NTS);
+	res = SQLExecDirect(stmt, (unsigned char *) data->sql, strlen(data->sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(AST_LOG_WARNING, "SQL Direct Execute failed!\n");
 		SQLFreeHandle(SQL_HANDLE_STMT, stmt);
diff -Naur ../asterisk-11.0.1/cdr/cdr_adaptive_odbc.c ../asterisk-11.0.1_1/cdr/cdr_adaptive_odbc.c
--- ../asterisk-11.0.1/cdr/cdr_adaptive_odbc.c	2012-03-28 21:39:24.000000000 +0200
+++ ../asterisk-11.0.1_1/cdr/cdr_adaptive_odbc.c	2012-11-15 15:03:28.000000000 +0100
@@ -147,7 +147,7 @@
 			continue;
 		}
 
-		res = SQLColumns(stmt, NULL, 0, lenschema == 0 ? NULL : (unsigned char *)schema, SQL_NTS, (unsigned char *)table, SQL_NTS, (unsigned char *)"%", SQL_NTS);
+		res = SQLColumns(stmt, NULL, 0, NULL, 0, (unsigned char *)table, strlen(table), (unsigned char *)"%", strlen("%"));
 		if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 			ast_log(LOG_ERROR, "Unable to query database columns on connection '%s'.  Skipping.\n", connection);
 			SQLFreeHandle(SQL_HANDLE_STMT, stmt);
@@ -317,7 +317,7 @@
 		return NULL;
 	}
 
-	res = SQLPrepare(stmt, (unsigned char *) data, SQL_NTS);
+	res = SQLPrepare(stmt, (unsigned char *) data, strlen(data));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", (char *) data);
 		SQLGetDiagField(SQL_HANDLE_STMT, stmt, 1, SQL_DIAG_NUMBER, &numfields, SQL_IS_INTEGER, &diagbytes);
diff -Naur ../asterisk-11.0.1/cdr/cdr_odbc.c ../asterisk-11.0.1_1/cdr/cdr_odbc.c
--- ../asterisk-11.0.1/cdr/cdr_odbc.c	2011-07-27 06:27:19.000000000 +0200
+++ ../asterisk-11.0.1_1/cdr/cdr_odbc.c	2012-11-15 14:56:03.000000000 +0100
@@ -127,7 +127,7 @@
 		SQLBindParameter(stmt, 15, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, sizeof(cdr->userfield), 0, cdr->userfield, 0, NULL);
 	}
 
-	ODBC_res = SQLExecDirect(stmt, (unsigned char *)sqlcmd, SQL_NTS);
+        ODBC_res = SQLExecDirect(stmt, (unsigned char *)sqlcmd, strlen(sqlcmd));
 
 	if ((ODBC_res != SQL_SUCCESS) && (ODBC_res != SQL_SUCCESS_WITH_INFO)) {
 		ast_verb(11, "cdr_odbc: Error in ExecDirect: %d\n", ODBC_res);
@@ -150,6 +150,9 @@
 	}
 
 	stmt = ast_odbc_direct_execute(obj, execute_cb, cdr);
+
+        ast_verb(11, "CDR rows iserting\n");
+
 	if (stmt) {
 		SQLLEN rows = 0;
 
@@ -158,6 +161,8 @@
 
 		if (rows == 0)
 			ast_log(LOG_WARNING, "CDR successfully ran, but inserted 0 rows?\n");
+                else
+                        ast_verb(11, "CDR %d rows inserted\n", rows);
 	} else
 		ast_log(LOG_ERROR, "CDR direct execute failed\n");
 	ast_odbc_release_obj(obj);
diff -Naur ../asterisk-11.0.1/cel/cel_odbc.c ../asterisk-11.0.1_1/cel/cel_odbc.c
--- ../asterisk-11.0.1/cel/cel_odbc.c	2012-03-07 22:28:55.000000000 +0100
+++ ../asterisk-11.0.1_1/cel/cel_odbc.c	2012-11-15 15:04:28.000000000 +0100
@@ -156,7 +156,7 @@
 			continue;
 		}
 
-		res = SQLColumns(stmt, NULL, 0, NULL, 0, (unsigned char *)table, SQL_NTS, (unsigned char *)"%", SQL_NTS);
+		res = SQLColumns(stmt, NULL, 0, NULL, 0, (unsigned char *)table, strlen(table), (unsigned char *)"%", strlen("%"));
 		if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 			ast_log(LOG_ERROR, "Unable to query database columns on connection '%s'.  Skipping.\n", connection);
 			ast_odbc_release_obj(obj);
@@ -321,7 +321,7 @@
 		return NULL;
 	}
 
-	res = SQLPrepare(stmt, (unsigned char *)sql, SQL_NTS);
+	res = SQLPrepare(stmt, (unsigned char *)sql, strlen(sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", sql);
 		SQLGetDiagField(SQL_HANDLE_STMT, stmt, 1, SQL_DIAG_NUMBER, &numfields, SQL_IS_INTEGER, &diagbytes);
diff -Naur ../asterisk-11.0.1/funcs/func_odbc.c ../asterisk-11.0.1_1/funcs/func_odbc.c
--- ../asterisk-11.0.1/funcs/func_odbc.c	2012-08-21 22:54:19.000000000 +0200
+++ ../asterisk-11.0.1_1/funcs/func_odbc.c	2012-11-15 15:04:56.000000000 +0100
@@ -177,7 +177,7 @@
 		return NULL;
 	}
 
-	res = SQLExecDirect(stmt, (unsigned char *)sql, SQL_NTS);
+	res = SQLExecDirect(stmt, (unsigned char *)sql, strlen(sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO) && (res != SQL_NO_DATA)) {
 		if (res == SQL_ERROR) {
 			int i;
diff -Naur ../asterisk-11.0.1/res/res_config_odbc.c ../asterisk-11.0.1_1/res/res_config_odbc.c
--- ../asterisk-11.0.1/res/res_config_odbc.c	2012-06-11 17:23:30.000000000 +0200
+++ ../asterisk-11.0.1_1/res/res_config_odbc.c	2012-11-15 14:59:07.000000000 +0100
@@ -86,7 +86,7 @@
 
 	ast_debug(1, "Skip: %lld; SQL: %s\n", cps->skip, cps->sql);
 
-	res = SQLPrepare(stmt, (unsigned char *)cps->sql, SQL_NTS);
+        res = SQLPrepare(stmt, (unsigned char *)cps->sql, strlen(cps->sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", cps->sql);
 		SQLFreeHandle (SQL_HANDLE_STMT, stmt);
@@ -652,7 +652,7 @@
 	/* Done with the table metadata */
 	ast_odbc_release_table(tableptr);
 
-	res = SQLPrepare(stmt, (unsigned char *)ast_str_buffer(sql), SQL_NTS);
+	res = SQLPrepare(stmt, (unsigned char *)ast_str_buffer(sql), strlen(ast_str_buffer(sql)));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_log(LOG_WARNING, "SQL Prepare failed![%s]\n", ast_str_buffer(sql));
 		SQLFreeHandle(SQL_HANDLE_STMT, stmt);
@@ -887,7 +887,7 @@
 		return NULL;
 	}
 
-	res = SQLPrepare(sth, (unsigned char *)q->sql, SQL_NTS);
+	res = SQLPrepare(sth, (unsigned char *)q->sql, strlen(q->sql));
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		ast_verb(4, "Error in PREPARE %d\n", res);
 		SQLFreeHandle(SQL_HANDLE_STMT, sth);
diff -Naur ../asterisk-11.0.1/res/res_odbc.c ../asterisk-11.0.1_1/res/res_odbc.c
--- ../asterisk-11.0.1/res/res_odbc.c	2012-07-18 19:18:20.000000000 +0200
+++ ../asterisk-11.0.1_1/res/res_odbc.c	2012-11-15 14:52:04.000000000 +0100
@@ -489,7 +489,7 @@
 			break;
 		}
 
-		res = SQLColumns(stmt, NULL, 0, NULL, 0, (unsigned char *)tablename, SQL_NTS, (unsigned char *)"%", SQL_NTS);
+		res = SQLColumns(stmt, NULL, 0, NULL, 0, (unsigned char *)tablename, strlen(tablename), (unsigned char *)"%", strlen("%"));
 		if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 			if (try == 0) {
 				try = 1;
@@ -744,7 +744,7 @@
 		if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 			obj->up = 0;
 		} else {
-			res = SQLPrepare(stmt, (unsigned char *)test_sql, SQL_NTS);
+			res = SQLPrepare(stmt, (unsigned char *)test_sql, strlen(test_sql));
 			if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 				obj->up = 0;
 			} else {
@@ -1542,9 +1542,9 @@
 #endif
 
 	res = SQLConnect(con,
-		   (SQLCHAR *) obj->parent->dsn, SQL_NTS,
-		   (SQLCHAR *) obj->parent->username, SQL_NTS,
-		   (SQLCHAR *) obj->parent->password, SQL_NTS);
+                  (SQLCHAR *) obj->parent->dsn, strlen(obj->parent->dsn),
+                  (SQLCHAR *) obj->parent->username, strlen(obj->parent->username),
+                  (SQLCHAR *) obj->parent->password, strlen(obj->parent->password));
 
 	if ((res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO)) {
 		SQLGetDiagRec(SQL_HANDLE_DBC, con, 1, state, &err, msg, 100, &mlen);
