2009-10-17 1 views
0

SQL에 LINQ를 사용하고 있습니다. LINQ를 사용하여 데이터베이스를 만들고 싶지만 다음 예외가 발생했습니다. 경로에 올바르지 않은 문자가 있습니다. BTWLINQ 및 C#에서 CreateDatabase 메서드를 사용하여 데이터베이스를 만드시겠습니까?

public static string DBFolder = Application.StartupPath + "\\SQL\\"; 
private void MainForm_Load(object sender, EventArgs e) 
    { 
     if (!Directory.Exists(StaticVariables.DBFolder)) 
      Directory.CreateDirectory(StaticVariables.DBFolder); 
     using (RezaRestaurant.SQL.DataClasses1DataContext dbc = new RezaRestaurant.SQL.DataClasses1DataContext()) 
     { 
      if (!File.Exists(StaticVariables.DBFolder + dbc.Mapping.DatabaseName + ".mdf") && !dbc.DatabaseExists()) 
      { 
       RezaRestaurant.SQL.DataClasses1DataContext db = new RezaRestaurant.SQL.DataClasses1DataContext(StaticVariables.DBFolder + dbc.Mapping.DatabaseName + ".mdf", dbc.Mapping.MappingSource); 
       db.CreateDatabase();//Exception 
      } 
     } 
    } 

:

이 내 코드 나는 다음과 같이 데이터베이스의 테이블에 UFT8 문자를 사용했다 : اقلام_فروخته_شده

당신이 나를 인도 시겠어요? 감사합니다. .

답변

2

StaticVariables.DBFolder에는 하나 이상의 잘못된 Win32 경로 문자가 포함되어 있습니다.

당신은

System.IO.Path.GetInvalidPathChars() 
System.IO.Path.GetInvalidFileNameChars() 

문자가 허용되지 않는 확인하기 위해 사용하고 변수 당신 StaticVariables.DBFolder에서 사람들은

또한 dbc.Mapping.DatabaseName 이러한 문자

중 하나를 포함하지 않도록 제거 할 수 있습니다
+0

감사합니다. 존,하지만 문제는 당신이 쓴 것이라고 생각하지 않습니다! –

+0

그러면 스택 추적을 제공 할 수 있습니까? 그게 문제가 어디 있는지 정확하게 파악하는 데 도움이 될까요? 스택 추적은 Throw 된 Exception의 StrackTrace 속성을 검사하여 찾을 수 있습니다. –

+0

다음 게시글에 StackTrace를 추가했습니다. –

관련 문제