Если вы используете центральную базу данных, установленную на серверном компьютере, а другие клиентские компьютеры могут получить доступ к этому серверу.
Если это можно сделать следующим образом:
сначала вы меняете свою программу, чтобы записывать файл DSN на жесткий диск при запуске программы
Используйте следующий код в качестве образца
private void MakeDSN()
{
try
{
if (!System.IO.Directory.Exists(@"C:\OTPub"))
{
System.IO.Directory.CreateDirectory(@"C:\OTPub");
}
if (File.Exists(@"C:\OTPub\Ot.dsn")) //delete ErrorLogFile
{
File.SetAttributes(@"C:\OTPub\Ot.dsn", FileAttributes.Temporary);
File.Delete(@"C:\OTPub\Ot.dsn");
}
string con = "[ODBC]";
string driver = "DRIVER=SQL Server";
string uid = "UID=sa";
string DB = "DATABASE=OTData";
string server = "SERVER=10.63.210.111";
var tw = new StreamWriter(@"C:\OTPub\Ot.dsn", true); // make file in location
using (tw)
{
tw.WriteLine(con); //write dataline
tw.WriteLine(driver);
tw.WriteLine(uid);
tw.WriteLine(DB);
tw.WriteLine(server);
}
lbserver.Text="LOGIN "+server;
}
catch (Exception)
{
MessageBox.Show("File DSN Error!");
}
}
Введите IP-адрес вашего сервера как string server
Теперь вы можете использовать соединение в отдельном классе
using System.Data.Odbc;
class DataBaseConnection
{
private OdbcConnection conn1 = new OdbcConnection(@"FILEDSN=C:/OTPub/Ot.dsn;" + "Uid=sa;" + "Pwd=123;");
//insert,update,delete
public int SetData(string query)
{
try
{
conn1.Open();
OdbcCommand command = new OdbcCommand(query, conn1);
int rs = command.ExecuteNonQuery();
conn1.Close();
return rs;
}
catch (Exception ex)
{
conn1.Close();
throw ex;
}
}
//select
public System.Data.DataTable GetData(string sql)
{
try
{
conn1.Open();
OdbcDataAdapter adpt = new OdbcDataAdapter(sql, conn1);
DataTable dt = new DataTable();
adpt.Fill(dt);
conn1.Close();
return dt;
}
catch (Exception ex)
{
conn1.Close();
throw ex;
}
}
}
Теперь вы можете написать следующий код в другом необходимом месте для подключения к базе данных,
DataBaseConnection db = new DataBaseConnection();
Если вам нужен запрос SELECT:
DataTable dt = db.GetData("SELECT * From TestTable");
Если вам нужно вставить, обновить, удалить запрос
int i=db.SetData("INSERT INTO TestTable(name,address,tel) VALUES (testname,Colombo,0777125896) ");
Этот метод может использовать подключение к базе данных без каких-либо настроек.
Важно: не забывайте удалять файл DSN при выходе из приложения в целях безопасности.
Надеюсь, что это поможет вам!
person
Gayan Chinthaka Dharmarathna
schedule
30.03.2017
AttachDbFileName
и используйтеInitial Catalog
) и все готово :-) - person Steve   schedule 17.08.2012