提示錯誤:
由於 safe 程式集 'SqlServerCLRCallNet' 中 'SqlServerCLRCallNet.TEST' 類型的方法 'CallSAPFunUpdateDataVB' 將儲存到靜態欄位,CREATE ASSEMBLY 失敗。
在 safe 程式集中不允許儲存到靜態欄位
過程代碼:
View Code
using System;
using System.Collections.Generic;
using System.Text;
using VBLib;
namespace SqlServerCLRCallNet
{
public class TEST
{
private static string ApplicationServer = System.Configuration.ConfigurationManager.AppSettings["ApplicationServer"].ToString();
private static string Client = System.Configuration.ConfigurationManager.AppSettings["Client"].ToString();
private static string SystemNumber = System.Configuration.ConfigurationManager.AppSettings["SystemNumber"].ToString();
public static DataSet CallSAPFunUpdateDataVB(string strFunName, ListDictionary strArgs, ListDictionary strTableArgs, ListDictionary strRetTabs, ref ListDictionary strResult)
{
VBSAP VBSap = new VBSAP(null, ApplicationServer, Client, SystemNumber.ToString());
return null;
}
}
}
在SQL 中執行語句:提示以上錯誤
create assembly asmSqlServerCLRCallNet from'c:\SqlServerCLRCallNet.dll'
修改後:
View Code
using System;
using System.Collections.Generic;
using System.Text;
namespace SqlServerCLRCallNet
{
public class GetConfigApp
{
public string ApplicationServer = System.Configuration.ConfigurationManager.AppSettings["ApplicationServer"].ToString();
public string Client = System.Configuration.ConfigurationManager.AppSettings["Client"].ToString();
public string Language = System.Configuration.ConfigurationManager.AppSettings["Language"].ToString();
public string User = System.Configuration.ConfigurationManager.AppSettings["User"].ToString();
public string Password = System.Configuration.ConfigurationManager.AppSettings["Password"].ToString();
public int SystemNumber = int.Parse(System.Configuration.ConfigurationManager.AppSettings["SystemNumber"]);
}
}
View Code
using System;
using System.Collections.Generic;
using System.Text;
using VBLib;
namespace SqlServerCLRCallNet
{
public class TEST
{
public static DataSet CallSAPFunUpdateDataVB(string strFunName, ListDictionary strArgs, ListDictionary strTableArgs, ListDictionary strRetTabs, ref ListDictionary strResult)
{
GetConfigApp getConfig = new GetConfigApp();
VBSAP VBSap = new VBSAP(null, getConfig.ApplicationServer, getConfig.Client, getConfig.SystemNumber);
return null;
}
}
}