나는 OleDB에 대해 많이 모른다. 암호로 보호 된 MS Access 2007 파일을 만드는 방법에 대한 정보가 필요하다. 이 User Id=admin; Password=
를 사용하는 코드 조각이지만 나에게 말을 저장하는 동안 오류를 제공합니다 :C# 및 SQL에서 사용자 이름과 암호로 보호 된 MS Access 2007 파일을 만들려면 어떻게해야합니까?
편집 : 지금은이 오류 : Cannot open the MS Office Access database engine workgroup information file
나는 문제가 SQL 명령에 누워 있음을 알아 낸 . 어떤 SQL 명령을 사용해야합니까? 이 명령은 문제를 일으키고 그 이유를 알 수 없습니다. 주석에서 제공 한 링크와 비슷한 구문을 사용했습니다.
try
{
objOleDbConnection.Open();
objOleDbCommand.CommandText =
"ALTER USER " + storedAuth.UserName +
" PASSWORD [" + storedAuth.Password + "] []";
objOleDbCommand.ExecuteNonQuery();
}
다음 코드를 사용할 수 있지만 사용자 이름은 어떻게됩니까? 몇 가지 팁
private void sfdNewFile_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
// Creating a ADOX object needed to create
// new MS Access file.
ADOX.Catalog createMSFile = new ADOX.Catalog();
createMSFile.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" +
sfdNewFile.FileName);
Table nTable = new Table();
nTable.Name = "PersonData";
nTable.Columns.Append("DataID", DataTypeEnum.adInteger, 40);
nTable.Columns.Append("Type", DataTypeEnum.adVarWChar, 40);
nTable.Columns.Append("URL", DataTypeEnum.adVarWChar, 40);
nTable.Columns.Append("SoftwareName", DataTypeEnum.adVarWChar, 40);
nTable.Columns.Append("SerialCode", DataTypeEnum.adVarWChar, 40);
nTable.Columns.Append("UserName", DataTypeEnum.adVarWChar, 40);
nTable.Columns.Append("Password", DataTypeEnum.adVarWChar, 40);
createMSFile.Tables.Append(nTable);
// It is importnat to release COM object, in this very order
// otherwise we eill end up with an error.
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(nTable);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(createMSFile.Tables);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(createMSFile.ActiveConnection);
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(createMSFile);
OleDbConnection objOleDbConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + sfdNewFile.FileName);
OleDbCommand objOleDbCommand = objOleDbConnection.CreateCommand();
try
{
objOleDbConnection.Open();
objOleDbCommand.CommandText = "ALTER DATABASE PASSWORD [" + storedAuth.Password + "] []";
objOleDbCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
// Displaying any errors that
// might have occured.
MessageBox.Show("Error opening the " +
"connection: " + ex.Message);
}
finally
{
objOleDbConnection.Close();
}
MessageBox.Show("File have been created.");
}
희망 :
objOleDbCommand.CommandText = "ALTER DATABASE PASSWORD " + storedAuth.Password + "[]";
은 편집 해 내가 지금 무슨 코드를 변경했습니다. 문안 인사.
이 참조 http://msdn.microsoft.com/en-us/library/bb177884(v=office.12).aspx –