在IRPA和Microsoft SQL Server Management Studio 2012之间创建连接

2020-08-21 12:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试使用脚本在IRPA和MSSQL Server之间创建连接:

//---------------------------------------------  -------------------
//步骤:自定义
//------------------------------------------------  ----------------
 GLOBAL.step({自定义:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('SQLTest','d411a54f-fa67-4ce1-80a9-2ceebc13ec29');
//自定义
 var adOpenForwardOnly = 0;
  var adLockReadOnly = 1;
  var adCmdText = 1;
  var strConnectionString = {//提供程序:'SQLOLEDB',
 服务器:"服务器名称",
 数据库:"数据库名称",
                             用户:"用户",
                             密码:" password"}
 
  函数GetConnection(){
    var oConnection = null;
    尝试{
      oConnection =新的ActiveXObject(" SQLOLEDB.Connection");
      oConnection.Open(strConnectionString);
      返回oConnection;
    } catch(错误){
      ctx.log('连接失败:'+ error.description);
    }
 ctx.log('成功');
  }
  GetConnection();
 
 sc.endStep(); //结束场景
 返回;
 }});


 

运行它时,出现以下错误:

自动化服务器无法创建对象

我在本地Intranet区域(在MS SQL Server Management Studio中)的"安全设置"中启用了3个"初始化和脚本化Activex控件未标记为安全脚本",但是我遇到相同的错误。

有人对如何完成此连接有任何建议吗?

谢谢您打赌,

莫妮卡

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试使用脚本在IRPA和MSSQL Server之间创建连接:

//---------------------------------------------  -------------------
//步骤:自定义
//------------------------------------------------  ----------------
 GLOBAL.step({自定义:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('SQLTest','d411a54f-fa67-4ce1-80a9-2ceebc13ec29');
//自定义
 var adOpenForwardOnly = 0;
  var adLockReadOnly = 1;
  var adCmdText = 1;
  var strConnectionString = {//提供程序:'SQLOLEDB',
 服务器:"服务器名称",
 数据库:"数据库名称",
                             用户:"用户",
                             密码:" password"}
 
  函数GetConnection(){
    var oConnection = null;
    尝试{
      oConnection =新的ActiveXObject(" SQLOLEDB.Connection");
      oConnection.Open(strConnectionString);
      返回oConnection;
    } catch(错误){
      ctx.log('连接失败:'+ error.description);
    }
 ctx.log('成功');
  }
  GetConnection();
 
 sc.endStep(); //结束场景
 返回;
 }});


 

运行它时,出现以下错误:

自动化服务器无法创建对象

我在本地Intranet区域(在MS SQL Server Management Studio中)的"安全设置"中启用了3个"初始化和脚本化Activex控件未标记为安全脚本",但是我遇到相同的错误。

有人对如何完成此连接有任何建议吗?

谢谢您打赌,

莫妮卡

付费偷看设置
发送
2条回答
槿木_熙
1楼-- · 2020-08-21 12:12

你好

从您的代码示例开始,我能够使用以下代码创建与MSSQL Server的连接:

//---------------------------------------------  -------------------
//步骤:自定义
//------------------------------------------------  ----------------
 GLOBAL.step({自定义:function(ev,sc,st){
 var rootData = sc.data;
 ctx.workflow('sqlWorkflow','56a05ccc-d36e-4ca8-9854-152d7e75466c');
//自定义

 var adOpenForwardOnly = 0;
  var adLockReadOnly = 1;
  var adCmdText = 1;

 var string_connection =" Provider = SQLOLEDB; Server = localhost \\ SQLEXPRESS; Database = test_db; UID = test_uid; PWD = test_pwd;";

 函数GetConnection(){
   var oConnection = null;
    尝试{
 oConnection = new ActiveXObject(" ADODB.Connection");
      oConnection.Open(string_connection);
    } catch(错误){
     ctx.log('连接失败:'+ error.description);
    }
 ctx.log('成功');
  }

 GetConnection();

 sc.endStep(); //结束场景
 返回;
 }}); 

必须将ActiveXObject构造函数中的参数设置为" ADODB.Connection",而不是" SQLOLEDB.Connection"。

请注意,我必须在服务器部分的连接字符串中添加一个额外的'\'。

风早神人
2楼-- · 2020-08-21 12:29

嗨,

我在测试期间没有出现此错误。

请确保您的连接字符串正确。 为此,您可以打开Powershell应用程序并键入以下命令:

 $ connection =新对象System.Data.OleDb.OleDbConnection
 $ connection.ConnectionString =" Provider = SQLOLEDB; Server = localhost \ SQLEXPRESS; Database = your_db; UID = your_uid; PWD = your_pwd;"
 $ connection.Open()
$ connection.Close()

如果连接字符串中有错误,则Powershell中将显示一条红色消息。
如果没有,请确保在RPA Studio应用程序中需要的地方添加了额外的" \"。

洗礼池

一周热门 更多>