我想使用 java 从 MUMPS 数据库编写脚本。任何人都可以向我建议任何连接字符串或任何其他连接方式吗?
我使用 MSM-Activate 连接到 MSM Mumps,但我不知道您的系统是否 有类似的东西。
这是建立连接和使用的代码,也可以使用 C#。
这是我用来在腮腺炎内运行 rotines 的类:
using System;
namespace SOMENAME
{
public class ConnectionToMSM
{
public static dynamic con;
// Teste if are connected and use or open a new connection
public static dynamic connectionMSM()
{
// Use a open connection. If lost, open a new one
if (con == null || con.Connected == 0)
con = ConnectionToMSM.connect();
return con;
}
//Parameters to connect to MSM-Activate
private static Object connect()
{
// Create an object for use
Type type = Type.GetTypeFromProgID("M.Command");
dynamic mobj = Activator.CreateInstance(type);
mobj.Type = "TCPIP";
mobj.Partsize = 1024;
mobj.LocalTimeout = 5;
mobj.DoMode = false;
mobj.ArrayMode = false;
mobj.ExplicitCallType = false;
mobj.Server = "200.10.20.255";
mobj.Port = 1666;
mobj.UCI = "MWS";
mobj.Volgrp = "MWS";
mobj.Login();
return mobj;
}
}
}
我是这样使用的:
public static string[] ConsultaUsuario(int CartaoPonto)
{
MsgError = "";
int size = 0;
// 1000 is just a number smaller than data size received by reference
string[] SomeArray = new string[1000];
try
{
string status = ConnectionToMSM.connectionMSM().Do("Label^Rotine", ref SomeArray, ref size);
// Adjust the size of the array to your "size" counter bring from mumps routine, by reference with an array with mumps data by reference too.
Array.Resize(ref SomeArray, ref size);
}
catch (Exception)
{
ConnectionToMSM.con.Logout();
}
ConnectionToMSM.con.Logout();
return SomeArray;
}
这是从头开始运行例程的主线的另一个示例:
string status = ConnectionToMSM.connectionMSM().Do("^Routine");