2009-12-23 3 views
3

저는 SubSonic을 시작합니다. 나는 sqlite가 내 DB 변경을 원하고 나는 내가 참조 섹션에서 SQLite는 참조를 제외하고SubSonic, SQLite 및 데이터 제공 업체를 찾을 수 없습니까?

A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll 

Additional information: Unable to find the requested .Net Framework Data Provider. It may not be installed. 

을 얻을 내 config 파일

<connectionStrings> 
     <add name="NorthwindSQLite" 
     connectionString="Data Source=C:\unzipped\WindowsFormsApplication1\my.db" 
     providerName="System.Data.SQLite"/> 
    </connectionStrings> 

이 있습니다. 그래서이 문제를 어떻게 해결합니까?

답변

4

당신이 시각적으로 작업하는 경우 스튜디오에서 서버 탐색기에서 System.Data.SQLite를 사용하여 db 연결을 작성하십시오. System.Data.SQLite 공급자가 공급자 목록에 없으면이를 설치하거나 다시 설치하십시오. 그런 다음 Visual Studio에서 테이블 데이터를 열고 볼 수 있는지 확인하십시오. 이것이 작동하는 경우, subsonic 2.2는 sqlite 파일로 작업 할 수 있어야합니다. 나는 저를 위해 더 잘 작동하는 것처럼 보이는 아음속의 github 저장소에있는 sqlite에 대해 새로운 아음속 데이터 공급자를 사용합니다. 그러나 many-to-many 코드를 생성하지는 않습니다.

배포 된 응용 프로그램에서는 별도로 공급자를 설치할 필요가 없습니다.

+0

나는 공급자를 별도로 설치해야한다는 것을 결코 알지 못합니다. 어떻게 든 나는 참조를 추가하는 것이 프로젝트가 공급자 (또는 뭔가 ...)로 사용하게 만들 것이라고 생각했다. 문제가 해결되어 모든 코드가 작동합니다. –

+0

컴파일되었지만 런타임에 예외가 발생했기 때문에 프로덕션 환경에 SQLite 공급자를 "설치"해야합니까? 나는 "설치가 없다"는 것이 SQLite의 장점 중 하나라고 생각했습니다. – flipdoubt

+1

SQLite readme.txt 파일과 http://stackoverflow.com/questions/1117683/add-a-dbproviderfactory-without-an-app-config/1118089에서 구성 파일에 DbProviderFactories를 추가 할 수 있음을 발견했습니다. – flipdoubt

1

아음속 버전?

SQLite는 내 작업 공급자 섹션은 다음과 같습니다

<add name="Local" type="SubSonic.SQLiteDataProvider, SubSonic" connectionStringName="MyConn" generatedNamespace="X.Data" stripTableText="tbl" /> 

내 연결 문자열이 도움이

<add name="MyConn" connectionString="Data Source=C:\data.db;Version=3;"/> 

희망처럼 보이는 :-)

+0

subsonic 2.0에 대한 추가를 잊어 버렸습니다. - ivent는 subsonic 3과 함께 sqlite를 사용했습니다. – Doug

관련 문제