VB a SQL   zodpovězená otázka

VB.NET

Caw. Robim program vo VB ktory pracuje s sql databazou. Problem je ze ked program prenesiem na iny pocitac program nefunguje. Poradi niekto a je tu niekto kto by mi bol ochotny radit?

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Co takhle říct, co dotyčná apliakce dělá, jak s databází komunikuje a třeba co to hlásí, když teda dotyčný program nefunguje ? Nevím ale přijde mi že odpovědět na vaši první otázku je naprosto nemožné.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Asi bude jeho chyba v .NET Framework nie ? treba mat na cielovom pc nainstalovany najmänej balik .NET 2.0 (podla toho aku verziu ste nastavili v nastaveniach aplikacie)

Predvolene je tam .NET 3.5 a ked chcete aplikaciu spustit pod XP tak nieje divu lebo myslim ze az SP3 najnovsi ma neco okolo 3.0 Framework..

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud tazatel přesně nepopíše problém, můžeme se o jeho příčině jen dohadovat.

Potřebujeme znát verzi Visual Studia, ve které je aplikace napsána, co je na cílovém počítači za systém, jaká je tam verze .NET frameworku, pokud to spolupracuje s databází, jestli je db na cílovém počítači nainstalována a v jaké verzi atd.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

robim to VB2008, a zatial to len ma nacitavat hodnoty z databaze do datagridview. potrebujem vediet co treba aby to islo spustit na kazdom pc. pise to toto http://uploading.sk/obrazek/nw0jwhc/chyb...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V tom detailu (rámeček dole) je popis chyby. Ten je potřeba aby bylo možné určit co je špatně.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Toto tam je.

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)

at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

at System.Data.SqlClient.SqlConnection.Open()

at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)

at DATABAZA_TOLERANCIÍ.tolerancieDataSetTableAdapters.d_CTableAdapter.Fill(d_CDataTable dataTable) in C:\Documents and Settings\Martin\Desktop\PROJEKT\DATABAZA TOLERANCIÍ1\DATABAZA TOLERANCIÍ1\tolerancieDataSet.Designer.vb:line 68471

at DATABAZA_TOLERANCIÍ.toleranciediery.toleranciediery_Load(Object sender, EventArgs e) in C:\Documents and Settings\Martin\Desktop\PROJEKT\DATABAZA TOLERANCIÍ1\DATABAZA TOLERANCIÍ1\toleranciediery.vb:line 7

at System.Windows.Forms.Form.OnLoad(EventArgs e)

at System.Windows.Forms.Form.OnCreateControl()

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.Control.CreateControl()

at System.Windows.Forms.Control.WmShowWindow(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ScrollableControl.WndProc(Message& m)

at System.Windows.Forms.ContainerControl.WndProc(Message& m)

at System.Windows.Forms.Form.WmShowWindow(Message& m)

at System.Windows.Forms.Form.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************

mscorlib

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll

----------------------------------------

DATABAZA TOLERANCIÍ1

Assembly Version: 1.0.0.0

Win32 Version: 1.0.0.0

CodeBase: file:///G:/Release/DATABAZA%20TOLERANCI%CD1.exe

----------------------------------------

Microsoft.VisualBasic

Assembly Version: 8.0.0.0

Win32 Version: 8.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

----------------------------------------

System

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0b77a5c561934e089/System.dll

----------------------------------------

System.Windows.Forms

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

System.Drawing

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Runtime.Remoting

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0b77a5c561934e089/System.Runtime.Remoting.dll

----------------------------------------

System.Data

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0b77a5c561934e089/System.Data.dll

----------------------------------------

System.Xml

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0b77a5c561934e089/System.Xml.dll

----------------------------------------

System.Data.DataSetExtensions

Assembly Version: 3.5.0.0

Win32 Version: 3.5.30729.1 built by: SP

CodeBase: file:///G:/Release/System.Data.DataSetExtensions.DLL

----------------------------------------

System.Configuration

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0b03f5f7f11d50a3a/System.Configuration.dll

----------------------------------------

System.Transactions

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0b77a5c561934e089/System.Transactions.dll

----------------------------------------

System.EnterpriseServices

Assembly Version: 2.0.0.0

Win32 Version: 2.0.50727.42 (RTM.050727-4200)

CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0b03f5f7f11d50a3a/System.EnterpriseServices.dll

----------------------------------------

************** JIT Debugging **************

To enable just-in-time (JIT) debugging, the .config file for this

application or computer (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

For example:

<configuration>

<system.windows.forms jitDebugging="true" />

</configuration>

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Popis chyby máte napsaný hned v prvním řádku:

System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Aplikaci se nepodařilo připojit na server. Nemusel být dostupný, nemáte na něm povolené připojení přes síť (po nainstalování je to defaultně zakázáno) nebo taky uživatel který aplikaci spouští nemusí mít k databázi povolen přístup. Pokud nepoužíváte SQL server login ale windows autentizaci, musíte uživatelům dát přístup do databáze. Tzn. pokud tam budete mít přístup pod vaším loginem, ale pak se na Váš (nebo jiný PC v síti) přihlásí někdo jiný komu přístup nepovolíte, vyhodí to chybu.

Mimochodem tyto vyjímky je dobré ošetřit aby neděsily uživatele a nepadala kvůli nim aplikace. Pokud uživatel nemá přístup je třeba ho o tom jednoduše informovat a poradit co má udělat aby to rozběhal. To samé pokud server bude off line atd. Pokud uživateli vyskočí toto pro něj nesmyslné okno s popisem chyby, tak ho ve většině případů jen odbouchne a začne panikařit že to má rozbitý.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

dik. a co teda treba spravit aby to islo? ako povolím prístup všetkým?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je potřeba zjistit v čem je přesně problém. Jestli aplikace vůbec nenajde SQL server a nebo jestli ho najde ale uživatel pod kterým se přihlašuje na něj nemá přístup.

Pokud ho nenajde je potřeba zjistit proč. Pokud nemá povolené připojení přes TCP/IP tak ho v nastavení serveru povolit.

Pokud nemá pouze uživatel k serveru přístup tak mu ho k dané databázi přidat. Řešení je více.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

na pc kde je microsoft sql server 2005 + vb nainstalovany to ide, ale na pc kde to nie je to vyhodi tu chybu. asi treba mat nainstalovany microsoft sql server aby dokazal program z databazy vytahovat informacie ? ? ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To dost dobře nejde, když nevím v čem je vlastně problém. Zkus se přihlásit k databázi z počítače kde to nefunguje třeba přes SQL Server Management Studio. Před přihlášením si vybereš server ze seznamu dostupných SQL serverů na síti, tak zjistíš jestli na něj vůbec "vidíš" tzn. jestli je dostupný z toho počítače. Pokud ano zkus se na něj přihlásit a použíj stejný způsob přihlášení a login přes který se snaží přihlásit tvoje aplikace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

na pc kde je microsoft sql server 2005 + vb nainstalovany to ide, ale na pc kde to nie je to vyhodi tu chybu. asi treba mat nainstalovany microsoft sql server aby dokazal program z databazy vytahovat informacie ? ? ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To určitě není potřeba, musíte mít nainstalovaný pouze .Net který obsahuje všechny adaptéry potřebné pro spojení s SQL serverem.

Takže jste zkoušel na cílový počítač (na ten kde to nefunguje) nainstalovat SQL server management studio a připojit se k SQL serveru?

Popřípadě pokud na tomto počítači je nainstalovaný MS Access, tak není potřeba instalovat to studio, k SQL serveru se připojíte i z accessu. Dáte Nový->Projekt (existující databáze)->vyberete kam se to má uložit a pak se ti zobrazí dialogové okno pro výběr SQL serveru a k přihlášení se k němu. Tak odtud můžeš zkusit zda server v seznamu uvidíš a zda se k němu přihlásíš (je tam tlačítko testovat připojení)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

nepripojilo to. je to vobec vhodne na moj program sql databaza? ide o program ktory ma vypocitavat tolerancie suciastok. hodnoty tolerancii ma vytahovat z tabuliek v databaze. som zaciatocnik a ci nerobim chybu tam ako chapem ze databaza pracuje.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přečtěte si můj seriál o databázích. Očividně vás to nepřipojilo do databáze s daným připojovacím řetězcem - tedy server není dostupný, nepodporuje tento typ připojení nebo vám brání firewall - v .NET frameworku je vše OK. V seriálu podrobně vysvětluji jakým způsobem server nastavit a co je potřeba udělat k tomu, abyste získal přístup i přes síť.

http://vbnet.cz/serial--7-stoparuv_pruvo...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback