Kako pristupiti udaljenoj bazi na sql serveru iz c# ??, u slučaju da je Remote connections allowed...
Registrirao sam free hosting na http://www.freesqldatabase.com/ ,
Unaprijed hvala!
Kako pristupiti udaljenoj bazi na sql serveru iz c
- poruka: 15
- |
- čitano: 4.241
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Kako pristupiti udaljenoj bazi na sql serveru iz c# ??, u slučaju da je Remote connections allowed...
Registrirao sam free hosting na http://www.freesqldatabase.com/ ,
Unaprijed hvala!
treba ti IP adresa dbase posluzitelja, username i pwd...
to si treba dobit od tog freesqldatabase...
Dalje, imas na connectionstrings.com primjere i to je to...
private void button1_Click(object sender, EventArgs e)
{
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = " Data Source=IP;Initial Catalog=DATABASENAME;User Id=USERNAME;Password=password";
try
{
myConnection.Open(); //line 30
//execute queries, etc
myConnection.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString ());
}
}
Izbaci mi Exception:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and
that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, 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 WindowsFormsApplication3.Form1.button1_Click(Object sender, EventArgs e) in c:\users\haris\documents\visual studio 2010\Projects\WindowsFormsApplication3\WindowsFormsApplication3\Form1.cs:line 30
...
Odlicno si ti to napravio... samo nisi upisao podatke u connection string. Dakle Harise trebas upisati ip adresu SQL servera, dalje ti treba username i password. Ono sto si ti gore upisao je dummy.
Jesam, upisao sam podatke, ali nisam ih htio tu staviti :/
To pokrečeš sa localhosta ili si uploadao, ako s localhosta onda ne može pristupiti bazi, pošto je hosting zaključao vjerojatno pristup izvana. Probaj se spojiti sa SQL managerom, ako ne možeš s njim onda nećeš ni ovkao moći nego tek kada uploadaš.
To pokrečeš sa localhosta ili si uploadao, ako s localhosta onda ne može pristupiti bazi, pošto je hosting zaključao vjerojatno pristup izvana. Probaj se spojiti sa SQL managerom, ako ne možeš s njim onda nećeš ni ovkao moći nego tek kada uploadaš.
Kaze da mu je otvoreno...
Pokrećem sa local hosta, ,, sa sql managerom se uspješno konektujem .
Probaj ovo onda
stavi u web.config
<connectionStrings>
<add name="connStringLocal" connectionString="server=;uid=;pwd=;database=;" providerName="System.Data.SqlClient"/>
</connectionStrings>
myconection.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connStringLocal"].ConnectionString;
myconection.ConnectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["connStringLocal"].ConnectionString;
//Ne funkcionira jer je u pitanju c# aplikacija, u asp.net bi to bilo ok ,,, medjutim u c#-u ne postoji using System.Web.Configuration (mislim na namespace)
Riješio sam problem ,, ipak hvala svima koji su pokušali pomoći
.
onda bi bilo ok d astavis kako si rijesio kad anetko naleti na temu sa slicnim problemom
using System.Data.Odbc;
private void button1_Click(object sender, EventArgs e)
{
OdbcConnection odbcCon;
string conStr;
conStr = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=IPadresa ;PORT=3306;DATABASE= ;UID= ; PWD= ;OPTION=3";
odbcCon = new System.Data.Odbc.OdbcConnection(conStr);
try
{
odbcCon.Open();
MessageBox.Show("Open");
}
catch (System.Data.Odbc.OdbcException Ex)
{
MessageBox.Show(Ex.ToString());
}
}
Eto!
...
Samo za ubuduce kada budes trazio pomoc... specificiraj neke stvari...
Prvo nisi pisao u C nego C#
Dalje, kad kazes SQL Server misli se na Microsoft SQL Server,
da si reko da se spajas na mySQL server onda bi ti odavno pomogli.
Dalje, postoji razlika u connectoru na mySQL i MSSQL bazu, takodjer postoji razlika u "dohvacanju" podataka... al ubuduce budi malo precizniji pa ces brze rijesit problem :)
Samo za ubuduce kada budes trazio pomoc... specificiraj neke stvari...
Prvo nisi pisao u C nego C#
Dalje, kad kazes SQL Server misli se na Microsoft SQL Server,
da si reko da se spajas na mySQL server onda bi ti odavno pomogli.
Dalje, postoji razlika u connectoru na mySQL i MSSQL bazu, takodjer postoji razlika u "dohvacanju" podataka... al ubuduce budi malo precizniji pa ces brze rijesit problem :)
Ono C je greška , koju poslije nisam znao ispraviti,
početnik sam u bazama pa zbog toga sva ova neodredjenost, medjutim sad znam razlike izmedju mysql i MSSQL ! poz