Beste medetweakers,
Ik heb een probleem, gezocht op het internet en ik kom er niet uit. De situatie is als volgt:
Op mijn laptop heb ik Visual Studio 2015 geïnstalleerd. Daarin ben ik aan het programmeren en ik wil een verbinding met de database maken. Dat krijg ik niet voor elkaar.
De database staat op een aparte server. Die server heeft het IP-adres 172.100.1.27 (intern netwerk) en de servernaam van de database is HBC-WEB01\HOORNBEECKSQL
Als ik in Visual Studio verbinding maakt met de server lukt dit gewoon. Die komt dan in Server Explorer erbij te staan.
Als ik echter een nieuwe Data Source aan wil maken, lukt dit niet. Ook met een connection string lukt het niet.
Als ik die code uitvoer krijg ik deze melding
Ik heb op het internet gezocht, maar daar gaat men er eigenlijk altijd vanuit dat de database server op dezelfde machine staat. In dit geval is dat dus niet zo!
Ik heb geen verstand van servers, dus misschien kan het iets heel onzinnigs zijn wat er aan de hand is. Maar wie kan mij helpen?
Wat ik al geprobeerd heb:
- Firewall staat uit
- Er is een database gebruiker toegevoegd, met de gebruikersnaam test. Deze kan ermee inloggen, maar niet via Visual Studio
- testgebruiker heeft alle rechten
Ik weet dat het gevaarlijk is dat de firewall uitstaat, maar er is geen verbinding met de buitenwereld, het is puur voor het ontwikkelen.
Ik heb een probleem, gezocht op het internet en ik kom er niet uit. De situatie is als volgt:
Op mijn laptop heb ik Visual Studio 2015 geïnstalleerd. Daarin ben ik aan het programmeren en ik wil een verbinding met de database maken. Dat krijg ik niet voor elkaar.
De database staat op een aparte server. Die server heeft het IP-adres 172.100.1.27 (intern netwerk) en de servernaam van de database is HBC-WEB01\HOORNBEECKSQL
Als ik in Visual Studio verbinding maakt met de server lukt dit gewoon. Die komt dan in Server Explorer erbij te staan.
Als ik echter een nieuwe Data Source aan wil maken, lukt dit niet. Ook met een connection string lukt het niet.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| string server = "HBC-WEB01\\HOORNBEECKSQL"; string database = "tvs"; string user = "test"; string password = "test"; string connectionString; connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "USER=" + user + ";" + "PASSWORD=" + password + ";"; SqlConnection verbinding = new SqlConnection(connectionString); verbinding.ConnectionString = connectionString; try { verbinding.Open(); Console.WriteLine("De verbinding is gelukt! Eindelijk :):)"); } catch (Exception ex) { Console.WriteLine("Verbinding met database kon niet worden gemaakt. Error: " + ex); } |
Als ik die code uitvoer krijg ik deze melding
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Verbinding met database kon niet worden gemaakt. Error: System.Data.SqlClient.SqlException (0x80131904): Er is een netwerkfout of een exemplaarspecifieke fout opgetreden tijdens het maken van verbinding met SQL Server. De server is niet gevonden of is niet toegankelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan. (provider: SQL Network Interfaces, error: 26 - Fout bij zoeken van opgegeven server/exemplaar) bij System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) bij System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) bij System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) bij System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) bij System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) bij System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) bij System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) bij System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) bij System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) bij System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) bij System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) bij System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) bij System.Data.SqlClient.SqlConnection.Open() bij DabCon.Program.Main(String[] args) in C:\Users\henkv\Source\Workspaces\Workspace3\DabCon\Program.cs:regel 29 ClientConnectionId:00000000-0000-0000-0000-000000000000 Error Number:-1,State:0,Class:20 |
Ik heb op het internet gezocht, maar daar gaat men er eigenlijk altijd vanuit dat de database server op dezelfde machine staat. In dit geval is dat dus niet zo!
Ik heb geen verstand van servers, dus misschien kan het iets heel onzinnigs zijn wat er aan de hand is. Maar wie kan mij helpen?
Wat ik al geprobeerd heb:
- Firewall staat uit
- Er is een database gebruiker toegevoegd, met de gebruikersnaam test. Deze kan ermee inloggen, maar niet via Visual Studio
- testgebruiker heeft alle rechten
Ik weet dat het gevaarlijk is dat de firewall uitstaat, maar er is geen verbinding met de buitenwereld, het is puur voor het ontwikkelen.