#!/usr/bin/perl -w use strict; use DBI qw(:sql_types); #set up connection my ( $data_source, $database, $user_id, $password ) =qw ( MANTIS-1\\SQLEXPRESS lc_bugtracker_db bugadmin 1bug2admin. ); #set up column values my ( $name, $status, $enabled, $view_state, $access_min ,$file_path ) =qw (project1 2 0 1 1 C:\\defect_tracking_project\\testproject); my $description = "this is the project description"; my $conn_string = "driver={SQL Server}; Server=$data_source; Database=$database; UID=$user_id; PWD=$password; { RaiseError => 1, AutoCommit => 0 }"; #Connect the database handle. my $dbh = DBI->connect("DBI:ODBC:$conn_string"); #SQL Insert statement and get identity value created by insert my $insertSQL = qq{ INSERT INTO mantis_project_table (name,status,enabled,view_state,access_min,file_path,description) VALUES(?,?,?,?,?,?,?); SELECT SCOPE_IDENTITY() }; #Prepare SQL statement for execution my $sth = $dbh->prepare($insertSQL); #Bind parms and parm sql types for insert statement $sth->bind_param( 1, $name, SQL_VARCHAR ); $sth->bind_param( 2, $status, SQL_SMALLINT ); $sth->bind_param( 3, $enabled, SQL_BIT); $sth->bind_param( 4, $view_state, SQL_SMALLINT ); $sth->bind_param( 5, $access_min, SQL_SMALLINT ); $sth->bind_param( 6, $file_path, SQL_VARCHAR ); $sth->bind_param( 7, $description, SQL_LONGVARCHAR); #execute the sql statement on the server $sth->execute(); #get the id value in a varArray to use later -- it could be null (undef) my @idarray = $sth->fetchrow_array(); my $id = @idarray ? $idarray[0] : undef; print "the identity column id used this time was: $id \n" ; #clean up $sth->finish(); $dbh->disconnect();