问题描述
嗨,我在Analysis Services中有表列表,我必须创建每周手动创建的表分区。例如7天。我必须手动转到该分区并更改日期范围,然后处理分区,然后执行。我想使用Powershell自动执行此过程。以下是我要自动执行的PS代码段,但是我想了解如何阅读partition create命令。
import com.example.soonBox_findpw.data.*;
import com.example.soonBox_findpw.data.SellerAdapter;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.linearlayoutmanager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import android.util.Log;
import java.util.ArrayList;
public class Purc_order extends AppCompatActivity {
private ArrayList<Posts> arrayList;
private SellerAdapter sellerAdapter;
private RecyclerView recyclerView;
private linearlayoutmanager linearlayoutmanager;
private FirebaseDatabase mdatabase;
private DatabaseReference databaseRef;
private FirebaseAuth firebaseAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.purc_application_one);
recyclerView = (RecyclerView)findViewById(R.id.order_recyclerview);
recyclerView.setHasFixedSize(true);
linearlayoutmanager = new linearlayoutmanager(this);
recyclerView.setLayoutManager(linearlayoutmanager);
arrayList = new ArrayList<>();
firebaseAuth = FirebaseAuth.getInstance();
FirebaseUser user = firebaseAuth.getInstance().getCurrentUser();
String email= user.getEmail();
int idx = email.indexOf("@");
String mailid = email.substring(0,idx);
mdatabase = FirebaseDatabase.getInstance(); //파이어베이스 DB연동
databaseRef = mdatabase.getReference("users").child(mailid).child("uploaded");//DB테이블 연결
databaseRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
//파이어베이스 데이터베이스의 데이터를 받아옵니다.
arrayList.clear();//기존 배열 리스트가 존재하지 않게 초기화
for(DataSnapshot snapshot : dataSnapshot.getChildren()) { // 반복문으로 데이터 List를 추출
Posts posts = snapshot.getValue(Posts.class); //만들어둔 Posts 객체에 데이터를 담는다.
arrayList.add(posts);//담은 데이터들을 배열리스트에 넣고 리사이클러뷰로 보낼 준비
}
sellerAdapter.notifyDataSetChanged();//리스트 저장 및 새로고침
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
//디비 가져오던 중 에러 발생시
Log.e("Pur_order",String.valueOf(error.toException())); //에러문 출력
}
});
sellerAdapter = new SellerAdapter(arrayList,this);
recyclerView.setAdapter(sellerAdapter);
}//onCreate
}
+ I attach more info : Firebase DB pictures
[worked well path][2]
[error path][3]
[1]: https://i.stack.imgur.com/PgYsR.png
[2]: https://i.stack.imgur.com/NgusF.png
[3]: https://i.stack.imgur.com/I2Fp0.png
此外,我在下面附加了分区创建命令:
function Invoke-SSASCreatePartition
{
[CmdletBinding(DefaultParameterSetName = "conn")]
param(
[Parameter(Mandatory=$true,ParameterSetName = "connStr")] [string] $connectionString,[Parameter(Mandatory=$true,ParameterSetName = "conn")] [Microsoft.analysisservices.AdomdClient.AdomdConnection] $connection,[Parameter(Mandatory=$true)] [string] $database,[Parameter(Mandatory=$true)] [string] $table,[Parameter(Mandatory=$true)] [string] $partition,[Parameter(Mandatory=$true)] [string] $query,[Parameter(Mandatory=$true)] [string] $datasource
)
$cmdText = "
{
`"createOrReplace`": {
`"object`": {
`"database`": `"$database`",`"table`": `"$table`",`"partition`": `"$partition`"
},`"partition`": {
`"name`": `"$partition`",`"source`": {
`"query`": `"$query`",`"dataSource`": `"$datasource`"
}
}
}
}"
if ($PsCmdlet.ParameterSetName -eq "connStr")
{
$connection = Get-SSASConnection -connectionString $connectionString -open
}
Invoke-SSASCommand -connection $connection -commandtext $cmdText
Write-Verbose "Partition $partition successfully (re)created!"
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)