MCPcopy Create free account
hub / github.com/MapServer/MapServer / mssql2008Connect

Function mssql2008Connect

mapmssql2008.c:230–263  ·  view source on GitHub ↗

Connect to db */

Source from the content-addressed store, hash-verified

228
229/* Connect to db */
230static msODBCconn * mssql2008Connect(const char * connString)
231{
232 SQLCHAR fullConnString[1024];
233 SQLRETURN rc;
234 msODBCconn * conn = msSmallMalloc(sizeof(msODBCconn));
235
236 memset(conn, 0, sizeof(*conn));
237
238 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &conn->henv);
239
240 SQLSetEnvAttr(conn->henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER) SQL_OV_ODBC3, 0);
241
242 SQLAllocHandle(SQL_HANDLE_DBC, conn->henv, &conn->hdbc);
243
244 snprintf((char*)fullConnString, sizeof(fullConnString), "DRIVER=SQL Server;%s", connString);
245
246 {
247 SQLCHAR outConnString[1024];
248 SQLSMALLINT outConnStringLen;
249
250 rc = SQLDriverConnect(conn->hdbc, NULL, fullConnString, SQL_NTS, outConnString, 1024, &outConnStringLen, SQL_DRIVER_NOPROMPT);
251 }
252
253 if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO)
254 {
255 setConnError(conn);
256
257 return conn;
258 }
259
260 SQLAllocHandle(SQL_HANDLE_STMT, conn->hdbc, &conn->hstmt);
261
262 return conn;
263}
264
265/* Set the error string for the statement execution */
266static void setStmntError(msODBCconn *conn)

Callers 1

msMSSQL2008LayerOpenFunction · 0.85

Calls 2

msSmallMallocFunction · 0.85
setConnErrorFunction · 0.85

Tested by

no test coverage detected