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:
Name
Defualt value
Description
dbs/mss/dbname
$(SAPSYSTEMNAME)
Database name, usually equal to the system ID.
Name
Defualt value
Description
dbs/mss/server
$(SAPDBHOST)
SQL Server name
Name
Defualt Value
Description
dbs/mss/schema
“dbo”
Schema name:Either “dbo” or the system ID in lowercase
Name
Defualt Value
Description
dbs/mss/packet_size
0 in kernel 7.20 and higher
If set to zero, the default packet size is used (8192)
Name
Defualt Value
Description
dbs/mss/conn_opts
default ” “
Connection options for SQL server Refer Snote: 2020535
Dynamic Parameters for ODBC DBSL:
Name
Defualt Value
Description
dbs/mss/dbsl_profile
0
If 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.
Name
Defualt Value
Description
Update_with_updlock
0
if set,it adds a “WITH (UPDLOCK)” hint to all update statements.
Name
Defualt Value
Description
par_stmt_prepare
1
command objects that are placed in the command cache are “prepared” i.e. next execution of the statement from the cache will be faster
NOTE: 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.
Name
Defualt Value
Description
connect_timeout
15
Controls how long to wait for the DB connection to be made
connect_retries
3
Controls how often DBSL tries to connect to the server in case of timeout
Maxincnt
255
This is the value used by DBI (part of the dbfeatures structure).
odbc_driver
If set DBSL looks for the driver by that name. If not found, the connection fails
user
the login name to use.
Passwd
password to use
dsn
if set DBSL connects using an ODBC Data Source Name. This determines the driver and other connection parameters used by DBSL
array_buf_size
determines size of input/output buffer area
dbs/mss/verbose
0
tp print extra information like profile settings on dev traces. Adds some informational messages to the dev_w