2016-09-24 2 views
0

이것은 서버의 URI 위치에 연결하는 것과 관련이있을 수 있으므로 SQLiteConnection에서 "SQLiteConnection (..., true)"매개 변수가 필요하다는 것을 알았습니다. 누구든지이 방법이나 연결 문자열이 잘못된 이유를 나타낼 수 있습니까? 여러 변형을 시도했습니다 ...SQLite.net C# 연결 문자열 오류

oConnection = new System.Data.SQLite.SQLiteConnection("Data Source=" + sFileName + "; Version=3; foreign keys=true;", true); 

sFileName의 형식은 "\\ aServer \ projects \ Database.xxxx"입니다.

+0

sFIleName은 db 파일의 전체 경로 여야합니다. ("C : \ DataBases \ db.sqlite") –

+0

예, 서버 경로이므로 문제가 있습니까? – Curtis

+0

서버 또는 원격 서버에 연결하려고합니까? –

답변

0

외래 키 제약 조건은 기본적으로 (이전 버전과의 호환성을 위해) 비활성화되어 있으므로 각 데이터베이스 연결마다 별도로 활성화해야합니다. 응용 프로그램은 PRAGMA foreign_keys 문을 사용하여 외래 키가 현재 활성화되어 있는지 확인할 수도 있습니다. 다음 명령 줄 세션에서는이를 보여줍니다.

sqlite> PRAGMA foreign_keys = ON;

SQLiteConnection connection = new SQLiteConnection("Data Source=" + sFileName + "; Version=3;", true); 
    connection.Open(); 
    SQLiteCommand mycommand = new SQLiteCommand(connection); 
    mycommand.CommandText = "PRAGMA foreign_keys=ON"; 
    mycommand.ExecuteNonQuery(); 
    connection.Close(); 
+0

몇 가지 게시물에 나와있는 것과 비슷한 연결 문자열에서이 작업을 수행 할 수 있습니다. 연결 문자열에서 외래 키를 사용할 수 있습니까? – Curtis