Připojení do databáze.   otázka

ASP.NET WebForms, Databáze

Dobrý den, nejsem schopen vyřešit následující problém. Pokud by někdo věděl byl bych nesmírně vděčný. Mám pro zjednodušení jednu stránku kde je grid a připojuji se k MS SQL serveru. Tento server jede na Windows Server 2008. Zde jede ve virtuálu MS SQL 2005.

Když si pustím tuto web aplikaci přímo z Visual Studia 2010 tak se bez problému připojí. Pokud tuto aplikaci vypublikuju na IIS na téže stanici a tam pustím už se k DB nepřipojí a vyhlásí níže přiloženou hlášku. (teď nevím jak to sem přidat asi to bude trochu nepřehledné - nekopíroval jsem to všechno)

""Server Error in '/' Application.

Při vytváření připojení k serveru SQL Server došlo k chybě související se sítí nebo s instancí. Server nebyl nalezen nebo nebyl přístupný. Ověřte, zda je název instance správný a zda je SQL Server nakofigurován, aby povoloval vzdálená připojení. (provider: Named Pipes Provider, error: 40 - Nelze otevřít připojení k serveru SQL Server.)

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Při vytváření připojení k serveru SQL Server došlo k chybě související se sítí nebo s instancí. Server nebyl nalezen nebo nebyl přístupný. Ověřte, zda je název instance správný a zda je SQL Server nakofigurován, aby povoloval vzdálená připojení. (provider: Named Pipes Provider, error: 40 - Nelze otevřít připojení k serveru SQL Server.)

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SqlException (0x80131904): Při vytváření připojení k serveru SQL Server došlo k chybě související se sítí nebo s instancí. Server nebyl nalezen nebo nebyl přístupný. Ověřte, zda je název instance správný a zda je SQL Server nakofigurován, aby povoloval vzdálená připojení. (provider: Named Pipes Provider, error: 40 - Nelze otevřít připojení k serveru SQL Server.)]

Na SQL serveru je aktuálně zapnuto Named Pies, TCP/IP

Remote control zapnut.

Už vážne nevím kde by mohl být problém.

Děkuji za radu. rM

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

A jak máte nastavený web.config?Máte povolený remote přístup na SQL server?

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

remote přístup povolen a web.config

<connectionStrings>

<add name="zak_ConnectionString" connectionString="Data Source=VSQL2008\SQL2005,1353;Initial Catalog=zak_;User ID=user;Password=pass" providerName="System.Data.SqlClient" />

<add name="zak_grafConnectionString" connectionString="Data Source=VSQL2008\SQL2005,1353;Initial Catalog=zak_rm;User ID=user2;Password=pass2" providerName="System.Data.SqlClient" />

</connectionStrings>

Podotýkám při spuštění z VS to jde. Ale jak je to vypublikovany na stejném počítači. A pustim to z třeba FiireFoxu tak už to píše tu hlášku :(

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

Určitě je správně VSQL2008\SQL2005?

Pokud používáte SQL manager,jak máte nastaven server name?

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

toto je přímo cesta k serveru jinak mám ještě alias nastavený. V tom co jsem Vám poslal bylo toto, ale funguje to (teda jen ve VS) i s aliasem. Netušim pčoč z jednoho to jde a z druhého ne :(

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

http://blogs.msdn.com/b/sql_protocols/ar...

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

Jenom nechápu co tam motá s pipe proč se nepřipojuje normnálně přes tcp/ip. Navíc do té doby než jsem to začal zkoušet vypublikovanýk, tak named pipes nebyl ani zapnutý.

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

Já bych named pipe vůbec nevyužíval..proč?

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

No však já vůbec nechci. Netuším přoč tam vyskakuje hláška s named???

Myslel jsem, že se to připoji uplne normálně přes tcp/ip.

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

Vyzkoušejte sqlcmd,zda se vůbec připojíte na SQL server vzdáleně.

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

sqlcmd -S sql2005 -U user -P pass

HResult 0x35, Level 16, State 1

Named Pipes Provider: Could not open a connection to SQL Server [53].

Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : A network-related or in

stance-specific error has occurred while establishing a connection to SQL Server

. Server is not found or not accessible. Check if instance name is correct and i

f SQL Server is configured to allow remote connections. For more information see

SQL Server Books Online..

Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.

špatné nevím proč

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

Běží vám vůbec ten Sql server?jmenuje se určitě instance "Sql2005"?Nepoužívate jiný než standardní port(1433)?Opravdu máte povolen remote přístup?

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

Server běží, to určitě ale není na default portu je na jiném.

SQL2005 je alias.

Remote je povolen.

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

Zkuste se připojit bez využití aliasu? Máte port povolen na FW?

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

A pozor při napsaní adresy -S VSQL2008\SQL2005,1353 se připojil.

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

Takže připojení vyřešeno tím, že jsem to nastavil ještě v IIS netuším. Takže zatím asi OK ještě to není úplně funční, ale to už bude zřejmě otázka práv v DB

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

Tak to je snad jasné a logické,že musíte nastavit i IIS,když na něj webapp deployujete..to snad musíte dělat téměř jako první

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

No myslel jsem connection string, který se tam dotáhne z web.configu. No ale jásal jsem asi předčasně. :( Jsem se přehlédl a funkčnost jsem testoval na tom puštěném z VS no nic. pro zatím to opuštím kouknu na to ještě večer nebo až po víkendu děkuji za spolupráci.

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