Conversione da Microsoft SQL Server Transact-SQL a HP Vertica
Il tool Ispirer MnMTK esegue la conversione da Microsoft SQL Server Transact-SQL a HP Vertica di varia complessità.
Perchè Ispirer MnMTK
Ispirer MnMTK può aiutarvi a convertire MS SQL Server T-SQL automaticamente. Scegliendo Ispirer MnMTK potete anche eliminare i rischi di conversione e ridurre notevolmente la quantità di sforzi interni necessari per la migrazione.
I nostri vantaggi principali:
- ll team esperto e qualificato: i tecnici d’Ispirer hanno grande esperienza in realizzazione di progetti di migrazione di varia complessità.
- Approccio orientato al cliente e Personalizzazione rapida: personalizziamo il nostro strumento di migrazione in modo che permetta di soddisfare pienamente le esigenze di business dei nostri clienti; aggiustamenti gratuiti durante 1-2 giorni lavorativi;
- Collaborazione pre-vendita: dimostriamo la conversione completa durante la fase di valutazione prima che prenderete la decisione finale.
- Buon prezzo: offriamo la politica di prezzatura flessibile;
-
Conversione ottimizzata: il codice facilmente gestito senza il middleware di Ispirer usato dopo la conversione.
Caratteristiche di conversione
Ispirer MnMTK ha una funzionalità built-in di migrazione di trigger, procedure e funzioni da Microsoft SQL Server a funzione scalare Java di Vertica. Il tool crea alcuni file separati per ogni elemento di Transact-SQL (T-SQL).
Da una funzione o procedura di T-SQL vengono creati due file:
- File con classe di funzione che effettua l’elaborazione che vuoi che il tuo UDF esegua.
- File con classe factory che fornisce i metadati sulla classe di funzione e crea un'istanza di esso per gestire le chiamate di funzione.
Migrazione di procedure SQL Server
Procedura SQL Server di origine:
CREATE PROCEDURE basic_procedure
@j INT
AS
BEGIN
SET @j=10
END
GO
Codice Java con User Defined Scalar Functions (UDSFs):
import com.vertica.sdk.*;
public class BasicProcedureFactory extends ScalarFunctionFactory
{
@Override
public void getPrototype(ServerInterface srvInterface,
ColumnTypes argTypes, ColumnTypes returnType)
{
RETURN TYPE.addInt();
}
@Override
public ScalarFunction createScalarFunction
(ServerInterface srvInterface)
{
RETURN NEW BasicProcedure();
}
public class BasicProcedure extends ScalarFunction {
@Override
public void processBlock(ServerInterface srvInterface,
BlockReader argReader, BlockWriter resWriter)
throws UdfException, DestroyInvocation {
do {
INTEGER j=NULL;
j=10;
resWriter.setLong(1);
}while(argReader.NEXT());
}
}
}
È necessario compilare il BasicProcedureFactory.java in un file di classe, in modo che sia possibile includerlo nella tua libreria Java UDF JAR. Se si utilizza un nodo HP Vertica come un sistema di sviluppo, è possibile copiare il file BasicProcedureFactory.java in un'altra posizione sul tuo host, o compilarlo sul posto se hai dei privilegi di root.
Procedura SQL Server di origine:
CREATE PROCEDURE sp_select
AS
BEGIN
DECLARE @customerID INT,
@CityCount INT
SELECT @CustomerID=CustomerID, @CityCount = COUNT(City)
FROM customer
GROUP BY customerID;
END
GO
Codice Java:
import java.SQL.*;
import java.util.Properties;
import com.vertica.sdk.*;
public class SpSelect extends ScalarFunction {
@Override
public void processBlock(ServerInterface srvInterface,
BlockReader argReader, BlockWriter resWriter)
throws UdfException, DestroyInvocation
{
Properties mProp=NEW Properties();
Connection mConn = DriverManager.getConnection
("jdbc:default:connection",mProp);
mConn.setAutoCommit(FALSE);
INTEGER ErrorCode = -1;
String SqlState = "";
do {
INTEGER CustomerID=NULL;
INTEGER CityCount=NULL;
try (PreparedStatement pstmt=mConn.prepareStatement
("SELECT CustomerID,COUNT(City)
FROM customer GROUP BY customerID");)
{
try( ResultSet s = pstmt.executeQuery();)
{
IF(rs.NEXT())
{
CustomerID = rs.getInt(1);
CityCount = rs.getInt(2);
}
}
Leggete l'opuscolo comune di HPE ed Ispirer (in Inglese) per vedere come la nostra partnership porta più valore ai clienti come voi.
Contattateci per ulteriori informazioni.
|