9.2 The Java
Class to Check Password Using JDBC
The class for checking password is listed below:
package voicent.ivrsample;
import
java.sql*;
public class
MyDbPasswordChecker
{
// Replace the following with your settings
// This CONN_URL uses Microsoft SQL Server 2005
static final String CONN_URL = "jdbc:sqlserver://localhost:2424;databaseName=AP;";
static final String DB_USER = "use your db user name";
static final String DB_PASSWORD = "use your db password";
// to return multiple values, use java.util.Properties as return
type
// please see ivr studio tutorial or document for more details
public boolean check(String accountNumber,
String passwd)
{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
boolean passwdOK = false;
try {
// Establish the connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(CONN_URL, DB_USER, DB_PASSWORD);
// Create and execute an SQL statement
String sqlst = "SELECT Account_Password FROM AccountPassword " +
" WHERE Account_Id = '" + accountNumber + "'";
stmt = con.createStatement();
rs = stmt.executeQuery(sqlst);
// Check the return data
if (rs.next()) {
String passwdSaved = rs.getString(1).trim();
if (passwdSaved.equals(passwd.trim()))
passwdOK = true;
}
rs.close();
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (con != null)
try { con.close(); }
catch(Exception e) {}
}
return passwdOK;
}
// test and customize this program independent of IVR Studio
// requires MSSQL 2005 JDBC driver library: sqljdbc.jar (free
download from microsoft)
public static void main(String args[])
{
if (args.length < 2)
return;
MyDbPasswordChecker checker = new MyDbPasswordChecker();
boolean rc = checker.check(args[0], args[1]);
System.out.println("The result is: " + Boolean.toString(rc));
}
}
You should be able to compile and run this class
independent of IVR Studio.
Compile The Java
Class
To Compile, use the following command:
javac -classpath "C:\Program
Files\Voicent\IVRStudio\samples\sqljdbc.jar" -d .
MyDbPasswordChecker.java
This compiles the Java class in the current directory. The
compiled class will be saved under the ./voicent/sample
directory.
Please note that you need to supply the correct values before
compiling:
static final String CONN_URL = "jdbc:sqlserver://localhost:2424;databaseName=AP;";
static final String DB_USER = "use your db user name";
static final String DB_PASSWORD = "use your db password";
Make a Jar File
Use the following command to make a jar file:
javac -cvf dbinteg.jar
voicent
This will put all files under ./voicent directory into the
dbinteg.jar file.
Run the Program
You can run the program using the following command:
java -classpath "C:/Program
Files/Voicent/IVRStudio/samples/sqljdbc.jar;dbinteg.jar"
voicent.sample.MyDbPasswordChecker 101 123
If everything works, you should see the following printout:
The result is: true
If you are using Microsoft SQL Server,
please make sure you have enabled the TCP/IP connection for
your database. Select Microsoft SQL Server
2005>Configuration Tools>SQL Server Configuration Manager. In
the SQL Server Configuration Manager select the node SQL
Server 2005 Network Configuration>Protocols for SQLEXPRESS.
Right-click on the TCP/IP node and select Enable. Restart the
SQL Server (SQLEXPRESS) service. In Adminstrative
Tools>Services, right-click on the SQL Server (SQLEXPRESS)
service and select Restart.
Connection URL for the default SQL Server 2005 database is
jdbc:sqlserver://localhost:<port>. In the connection URL,
<port> is obtained from the SQL Server configuration Manager.
When the SQL Server 2005 SQLEXPRESS is restarted the port
number changes. To obtain the <port> in the SQL Server Configuration Manager,
select the node SQL Server 2005 Network
Configuration > Protocols for SQLEXPRESS. Right-click on TCP/IP
node and select Properties. Select the IP Addresses tab. In IP
ALL, the TCP Dynamic Ports specifies the <port> value.
|