0

サンドボックスWebパーツでデータベース接続を行いたい。私はクエリを使用しているとき、次のコードは正常に動作します。誰も私にストアドプロシージャ&のパラメータを渡す方法を教えてもらえますか?また、Webサービスを操作する方法は?sharepoint2010:サンドボックスWebパーツのデータベース接続

public static DataSet ChkConn(string strval) 
    { 
     public static DataSet ds;   
     public static string assemblyName = "FullTrustProxy, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=75e25e9dc5ff21aa"; 
     public static string typeName = "DBFullTrust.FullTrustProxy.SQLFullTrustProxy"; 

     try 
     { 
      SQLProxyArgs proxyArgs = new SQLProxyArgs(); 
      proxyArgs.ConnectionString = "Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Cat;Data Source=ABC"; 
      if (strval == "B") 
       proxyArgs.Command = "select * from table1"; 
      else 
       proxyArgs.Command = "select * from table2"; 


      proxyArgs.returnType = typeof(DataSet); 
      return ds = (DataSet)SPUtility.ExecuteRegisteredProxyOperation(assemblyName, typeName, proxyArgs);     
     } 
     catch 
     { 

     } 
     return ds; 
    } 

答えて

0

完全信頼プロキシ操作を変更する必要があります。

引数

http://spc3.codeplex.com/SourceControl/changeset/view/57419#985226

using (SqlCommand cmd = new SqlCommand(args.Command, conn)) { 
    command.CommandType = CommandType.StoredProcedure; 
    foreach (KeyValuePair<string, object> para in args.Parameters) { 
     cmd.Parameters.AddWithValue(para.Key, para.Value); 
    } 
    return cmd.ExecuteNonQuery(); 
} 

を取るとプロキシを呼び出すために、これを使用するには、このような何か:

http://spc3.codeplex.com/wikipage?title=DatabaseProxy

SqlDataReaderProxyArgs args = new SqlDataReaderProxyArgs(); 
args.ConnectionString = "Data Source=;Initial Catalog=;User ID=;Password="; 
args.Command = "select * from sys.indexes"; 
args.CommandType = CommandType.Text; 
args.Parameters.Add(new KeyValuePair<string, object>() { Key = "Id", Value = "1"}); 
string assemblyName = typeof(SqlDataReaderProxyOperation).Assembly.FullName; 
string typeName = typeof(SqlDataReaderProxyOperation).FullName; 
object result = SPUtility.ExecuteRegisteredProxyOperation(assemblyName, typeName, args); 
関連する問題