Use the SmsDataSourceConnect function to connect to the site database that you want to access.
Currently, SMS supports one database type: Microsoft SQL Server. However, the SMS API is designed to allow support of other types of databases in the future.
The SmsDataSourceConnect function takes two parameters:
Note that your application can connect to only one site database at a time.
Example:
// Function to make a datasource connection to
// a site database. This function prompts for
// SQL server, loginID, password, and database,
// and then calls SmsDataSourceConnect to get
// a connection handle.
SMS_STATUS ConnectToSiteDatabase (HANDLE *phConnect)
// Pointer to handle to receive
// connection handle.
{
SMS_STATUS stat;
//Structure that specifies the site database to connect to.
DATASOURCE dsParams;
// Create string buffers for connecting to the database.
char szServer[33];
char szDb[31]; //maximum length of SQL Server database name is 30.
char szUser[31]; //maximum length of SQL Server Login ID is 30.
char szPasswd[31];
// Get database information from user and establish connection.
printf("Connect to site database.\n");
printf("SQL Server: ");
gets( szServer );
printf("Database: ");
gets( szDb );
printf("SQL Server Login ID: ");
gets( szUser );
printf("Password: ");
gets( szPasswd );
// Assign connection information to dsParams structure.
// The type of database.
dsParams.sqlParams.ds = DB_SQL;
// SQL Server name.
dsParams.sqlParams.pszServer = szServer;
// Login ID.
dsParams.sqlParams.pszUserName = szUser;
// Password for Login ID.
dsParams.sqlParams.pszPasswd = szPasswd;
// Name of the site database.
dsParams.sqlParams.pszDbName = szDb;
// Pointer to encryption function.
// No function is used in this example.
dsParams.sqlParams.pFunc = NULL;
//Encryption key. No encryption key is used in this example.
dsParams.sqlParams.pszKey = "";
// Use SmsDataSourceConnect to make a connection to the site database
// and assign the connection handle to hConnect.
stat = SmsDataSourceConnect( &dsParams, phConnect );
if (stat == SMS_OK) {
printf("Connected to database %s on SQL Server %s as %s.\n",
szDb, szServer, szUser);
}
else {
printf("Cannot connect to SQL Server. Error code: %d\n", stat);
}
return stat;
}