2014-06-19 2 views
0

저는 현재 사용자가 데스크톱의 어딘가에있는 데이터베이스 파일의 디렉토리를 입력 할 수있는 C#을 사용하는 콘솔 응용 프로그램 도구입니다. 지정한 위치에서 .db 파일을 가져온 다음 연결하여 테이블의 내용을 텍스트 파일로 가져옵니다. 그러나 테이블을 찾을 수 없다는 SQLite 오류가 나타납니다. 그리고 코드를 실행할 때마다 .db 파일의 복사본이 만들어 지지만 비어 있습니다.데이터베이스 파일에 성공적으로 연결 한 후 테이블을 찾을 수 없습니다.

그러나 디버그 폴더에 .db 파일의 복사본을 수동으로 '복사 붙여 넣기'하면이 오류가 표시되지 않습니다. 그래서 그것은 디버그 폴더에 복사본을 보관해야 할 필요가 있는지 또는 원격 연결과 같은 것을 허용하는 다른 방법이 있는지 궁금합니다. (참고로 저는 C#과 SQLite를 처음 접했습니다.)

connectionString = "DataSource=myDataBase.db"; 
using (SQLiteConnection connection = new SQLiteConnection(connectionString)) 
{ 
    connection.Open(); 
    using (SQLiteCommand command = new SQLiteCommand("SELECT File,Path FROM Structure", connection)) 
    { 
     using (SQLiteDataReader reader = command.ExecuteReader()) 
     { 
      while (reader.Read()) 
      { 
       //Do some stuffs 
      } 
      reader.Close(); 
      connection.Close(); 
     } 
    } 
} 
+1

연결 문자열은 무엇입니까 :

연결 문자열의 전체 디렉토리를 포함? –

+0

DataSource = '.db 파일 이름' – Ejun

+0

설명하지 마시고 * show * it! –

답변

0

파일 경로가 없으면 현재 디렉토리에서 데이터베이스 파일이 검색됩니다.

데이터베이스 파일이 존재하지 않으면 SQLite는 새 데이터베이스 파일을 만듭니다.

connectionString = "DataSource=C:\\some\\where\\myDataBase.db"; 
+0

Ahhh ... 알았어, 그 작업이 지금이다! 감사! – Ejun

관련 문제