Profile Parameters for ODBC DBSL

In this article we will discuss in detail the profile parameters for ODBC DBSL.
First lets discuss what is ODBC

What is ODBC?


Introduced by Microsoft, ODBC otherwise known as Open Database Connectivity is an interface used by client applications to access DBMS systems i.e. Database management systems.

ODBC is independent of databases and operating systems.
Using this standard API (application programming interface) single application can access multiple databases.

What is DBSL?

In single sentence, DBSL is the SAP database interface aka database shared library which is the lowest level of SAP kernel before database layer.
It is database independent.

ODBC DBSL is used for all SQL Server systems with SAP NetWeaver kernel release 7.20 or higher.
The parameters are categorized into:

  • Known in the kernel (Static/Dynamic)
  • Private parameters

Static Parameters for ODBC DBSL:

NameDefualt valueDescription
dbs/mss/dbname$(SAPSYSTEMNAME)Database name, usually equal to the system ID.
Profile Parameters for ODBC DBSL
NameDefualt valueDescription
dbs/mss/server$(SAPDBHOST)SQL Server name
Profile Parameters for ODBC DBSL server
NameDefualt ValueDescription
dbs/mss/schema“dbo”Schema name:Either “dbo” or the system ID in lowercase
Profile Parameters for ODBC DBSL schema
NameDefualt ValueDescription
dbs/mss/packet_size0 in kernel 7.20 and higherIf set to zero, the default packet size is used (8192)
Profile Parameters for ODBC DBSL packet_size
NameDefualt ValueDescription
dbs/mss/conn_optsdefault ” “Connection options for SQL server Refer Snote: 2020535
Profile Parameters for ODBC DBSL conn_opts

Dynamic Parameters for ODBC DBSL:

NameDefualt ValueDescription
dbs/mss/dbsl_profile0If set, files named dbsl_w are created in the work directory, where is the workprocess number.
These files contain a detailed trace of dbsl actions including the statement text, timestamp, etc.
Profile Parameters for ODBC DBSL dbsl_profile
NameDefualt ValueDescription
Update_with_updlock0if set,it adds a “WITH (UPDLOCK)” hint to all update statements.
NameDefualt ValueDescription
par_stmt_prepare1command objects that are placed in the command cache are “prepared” i.e. next execution of the statement from the cache will be faster

When this parameter is turned off, DBSL will stop preparing SQL statements. This means the profiler trace will show sp_executesql instead of sp_prepexec or sp_prepare and then sp_execute. This will allow a clearer profiler trace because the statement text will always be visible.

Private Parameters for ODBC DBSL :

These parameters are known only in DBSL.

NameDefualt ValueDescription
connect_timeout15Controls how long to wait for the DB connection to be made
connect_retries3Controls how often DBSL tries to connect to the server in case of timeout
Maxincnt255This is the value used by DBI (part of the dbfeatures structure).
odbc_driverIf set DBSL looks for the driver by that name. If not found, the connection fails
userthe login name to use.
Passwdpassword to use
dsnif set DBSL connects using an ODBC Data Source Name. This determines the driver and other connection parameters used by DBSL
array_buf_sizedetermines size of input/output buffer area
dbs/mss/verbose0tp print extra information like profile settings on dev traces. Adds some informational messages to the dev_w