2009-10-29 4 views
0

업로드 된 비디오 파일의 경로를 sqlserver database에 저장하기위한 용도로만 사용할 수 있습니다 .i 응용 프로그램에 bussiness 논리 계층이 있습니다.객체 참조가 객체의 인스턴스로 설정되어 있지 않습니다.

asp.net/vb.net을 사용하고 있습니다. 나는 어떤 사람이 저를 도와주세요 알고 있다면

object reference not set to an instance of an object 

that-- 오류가,

Dim Db As Database = DatabaseFactory.CreateDatabase() 

저장 프로 시저와 연결하기위한 BLL에 넣고. 객체가 사용되기 전에 인스턴스화 않네 기준이 있다는 의미의 인스턴스로 설정되지

[NullReferenceException: Object reference not set to an instance of an object.] 
Microsoft.Practices.EnterpriseLibrary.Data.DatabaseConfigurationView.get_DefaultName() +38 
Microsoft.Practices.EnterpriseLibrary.Data.DatabaseMapper.MapName(String name, IConfigurationSource configSource) +65 
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfigurationNameMappingStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) +122 
Microsoft.Practices.ObjectBuilder.BuilderBase`1.DoBuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) +316 
Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies) +168 
Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp(IReadWriteLocator locator, String idToBuild, Object existing, PolicyList[] transientPolicies) +104 
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp(IReadWriteLocator locator, IConfigurationSource configurationSource) +228 
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp(IConfigurationSource configurationSource) +65 
Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.NameTypeFactoryBase`1.CreateDefault() +72 
Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase() +86 
Uploader.BllUpdate.SaveFileDetails() in D:\Developers\Sinoy\uploader\Uploader\Uploader\BLL\BllUpdate.vb:37 
Uploader.Upload.UploadBtn_Click(Object sender, EventArgs e) in D:\Developers\Sinoy\uploader\Uploader\Uploader\Forms\Upload.aspx.vb:17 
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107 
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102 
+0

사용 된 기술로 질문에 태그를 답니다. 그것은 시각적 인 기본일지도 모르지만 나는 어떤 종류인지 모른다. 현재와 ​​같은 대답은 얻지 못할 것입니다. –

+0

[NullReferenceException은 무엇이며 어떻게 수정합니까?] 가능한 복제본 (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – Plutonix

답변

0

오브젝트 참조 : 여기

스택 트레이스이다. 참조가 여전히 null입니다 (또는 VB에서 Lingo, Nothing).

예외를 catch하고 발생 위치의 스택 추적을 확인하십시오.

+2

MSDN 문서의 조롱에서 : "(** Nothing ** in Visual Basic)" –

+0

오 예. 아무것도 VB를 완전히 잊었다. –

+0

@pst LOL. 아무것도... – mjv

0

일반적으로 클래스 변수 (예 : DatabaseFactory 또는 해당 클래스의 변수)가 Dim 문에서 New 키워드와 같이 클래스 인스턴스에 할당되기 전에 사용되기 때문에 오류가 발생하거나 할당. 인스턴스를 변수에 할당하는 다른 방법도 있습니다. 그렇지 않으면이 오류 메시지가 나타납니다.

0

Microsoft Enterprise Library 정적 메서드 DatabaseFactory.CreateDatabase을 호출하면 Microsoft Enterprise Library 내부의 무언가가 충돌합니다. 값이없는 변수 (즉, Nothing)를 사용하고 있습니다. 어떤 이유로 데이터베이스에 연결할 수 없습니다. 왜 내가 모르는 더 유익한 예외를 던지지 않는지 - 마이크로 소프트에게 물어봐야 할 것이다.

엔터프라이즈 라이브러리에 대해서는 아무 것도 모르지만 web.config or app.config configuration settings 기본 데이터베이스의 데이터베이스 연결 문자열을 확인합니다. 이것은 documentation 및 일부 Googling of online forums의 5 초 스킴 판독을 기반으로합니다. 먼저

0

, 기본 데이터베이스를 설정해야합니다, 그것은 가상 디렉터리 인 경우 즉

또한, 가상 디렉토리 내에 확인하여 Web.config 파일을이 루트 directoriy의 웹에 의해 무시되지 않습니다. config EnterpriseLibrary 관련 요소.

0

web.config를 확인 했습니까? 데이터베이스 연결 문자열을 올바르게 설정 했습니까? 이 문제는 연결 문자열이 없거나 올바르지 않은 경우에도 발생합니다.

관련 문제