當前位置:首頁 » 雲伺服器 » cweb怎麼連接資料庫伺服器地址

cweb怎麼連接資料庫伺服器地址

發布時間: 2022-11-15 04:57:39

『壹』 C# 如何用webservice來連接資料庫

webservice里寫好對資料庫的各種操作方法後發布

然後再你的程序里 要用的項目里 添加web引用,就是你發布的webservice

然後就可以new這個應用的webservice對象 調用裡面的方法。很簡單

『貳』 web怎麼直接用伺服器上的資料庫

這個可能是web伺服器的問題,當然也有可能是資料庫伺服器的問題
首先測試數據伺服器,登陸數據伺服器,查看資料庫是否正常。
其次在測試web伺服器。看能否正常訪問
然後在web伺服器上寫一個簡單的連接代碼訪問資料庫伺服器。如果連不上,請貼出錯誤信息

『叄』 web訪問資料庫的一般過程

web就是網頁了,一般就是讀資料庫,修改資料庫,查詢資料庫,寫入資料庫,保存數據的這幾個過程。

『肆』 C# 怎樣才能實現客戶端通過伺服器端連接資料庫伺服器

可以處理的,步驟為:
1.客戶端與伺服器連(用Socket通訊)
2.客戶端向處伺服器發送sql語句,如搜索一個表的數據
3.伺服器接到請求,執行SQL語句返回一個DataTable
4.伺服器將這個DataTable進行序列化、並且壓縮
5.伺服器將【序列化和壓縮】後的byte[] msg數組傳給客戶端
6.客戶端收到byte[] msg數組先進行解壓縮、和反序列化為DataTable
7.再將DataTable通過DataSet和SqlDataAdapter.Update(Table)存在SQL中
下面我只給一些關鍵的代碼,我有實現過的

第一步.客戶端==》連接伺服器並通訊,主要是發送SQL給伺服器返回一個DataTable表
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.IO.Compression;

namespace Client
{
public partial class FormClient : Form
{
DataTable dt;
public FormClient()
{
InitializeComponent();
}

private void ClientTest(string str)
{
Socket client;
String returnData;
byte[] buf = new byte[9991024]; //此處可能有些問題
//IPAddress local = IPAddress.Parse("116.25.83.127");
IPAddress local = IPAddress.Parse("127.0.0.1");//可改為遠程IP地址
IPEndPoint iep = new IPEndPoint(local, 6060);
try
{
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(iep);
}
catch (SocketException)
{
Console.WriteLine("無法連接到伺服器!");
return ;
}

//輸入exit,可以斷開與伺服器的連接
if (str == "")
{
return;
}
//發送SQL語句給伺服器
client.Send(Encoding.Unicode.GetBytes(str));

//得到實際收到的位元組總數
Int32 rec = client.Receive(buf);
Console.WriteLine(Encoding.ASCII.GetString(buf, 0, rec));
//接收伺服器返回的數據
returnData = System.Text.Encoding.Unicode.GetString(buf,0,rec);

//將returnData解壓縮後,再反序列化轉成DataTable dt = DeserializerDataTable(Decompress(returnData));
Console.WriteLine("斷開與伺服器的連接......");
client.Close();
dataGridView1.DataSource = dt;
}

//將DataTable表反序列化
private DataTable DeserializerDataTable(string pXml)
{
StringReader strReader = new StringReader(pXml);
XmlReader xmlReader = XmlReader.Create(strReader);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
DataTable dt = serializer.Deserialize(xmlReader) as DataTable;

return dt; }
//給伺服器傳SQL語句
private void buttonSearch_Click(object sender, EventArgs e)
{
string Sql = String.Format("Select top {0} * From Part Where CorpCode_='PT'", textBox1.Text.Trim()); ;
ClientTest(Sql);

}
#region 壓縮和解壓縮
public string Compress(string str)
{
byte[] buffer = Encoding.Unicode.GetBytes(str);
MemoryStream ms = new MemoryStream();
using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true))
{
zip.Write(buffer, 0, buffer.Length);
}
ms.Position = 0;
MemoryStream outStream = new MemoryStream();
byte[] compressed = new byte[ms.Length];
ms.Read(compressed, 0, compressed.Length);

byte[] gzBuffer = new byte[compressed.Length + 4];
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
return Convert.ToBase64String(gzBuffer);
}

//解壓縮
public string Decompress(string compressedText)
{
byte[] gzBuffer = Convert.FromBase64String(compressedText);
using (MemoryStream ms = new MemoryStream())
{
int msgLength = BitConverter.ToInt32(gzBuffer, 0);
ms.Write(gzBuffer, 4, gzBuffer.Length - 4);
byte[] buffer = new byte[msgLength];
ms.Position = 0;
using (GZipStream zip = new GZipStream(ms, CompressionMode.Decompress))
{
zip.Read(buffer, 0, buffer.Length);
}
return Encoding.Unicode.GetString(buffer);
}
}

#endregion
}
}

第二步.伺服器收到SQL語句執行,並回傳一個表給客戶端
伺服器接到請求,執行SQL語句返回一個DataTable
伺服器將這個DataTable進行序列化、並且壓縮
伺服器將【序列化和壓縮】後的byte[] msg數組傳給客戶端

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets; //可以使用套接字
using System.Threading; //可以使用多線程
using System.Data.SqlClient;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.IO.Compression;

namespace AppServer
{
public partial class FormApp : Form
{
public FormApp()
{
InitializeComponent();
}
private void FormApp_Load(object sender, EventArgs e)
{
// AppService instance = new AppService();
}

private void buttonStartService_Click(object sender, EventArgs e)
{
AppService();

}
private Socket server;
private Socket client;
private void AppService()
{
/*
//本機IP
string name = Dns.GetHostName();
IPHostEntry host = Dns.GetHostByName(name);
IPAddress id= host.AddressList[0];
* */

//IPAddress local = IPAddress.Parse("192.168.0.100");
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 6060);
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 將套接字與本地終結點綁定
server.Bind(iep);
//在本地13000埠號上進行監聽
server.Listen(10);
while (true)
{
// 得到包含客戶端信息的套接字
client = server.Accept();
//創建消息服務線程對象ClientService方法委託給線程
Thread newthread = new Thread(new ThreadStart(ClientService));
// 啟動消息服務線程
newthread.Start();
}
}
private Int32 i;
private void ClientService()
{
Socket s = client;
String data = null;
String returnData = null;
byte[] bytes = new byte[1024];

while ((i = s.Receive(bytes)) != 0)
{
//接收客戶端的SQL
data = System.Text.Encoding.Unicode.GetString(bytes, 0, i);
//將接到的String 執行SQL返回表
DBAccess obj = new DBAccess(); //專門傳給SQL的類相當於DBHELP
DataTable dt = obj.FillData(data, "TEST", 1);//執行SQL返回表

//將返回的表轉為String,並將returnData壓縮
returnData = obj.Compress(obj.SerializeDataTableXml(dt));
byte[] msg = System.Text.Encoding.Unicode.GetBytes(returnData);

// 發送數據表給客戶端 s.Send(msg);
if ((i = s.Receive(bytes)) == 0)
continue;
}
//關閉套接字
s.Close();
}
}

//DBAccess的部份代碼

class DBAccess
{
#region DataTable序列化與反序列化
public string SerializeDataTableXml(DataTable dt)
{
StringBuilder sb = new StringBuilder();
XmlWriter writer = XmlWriter.Create(sb);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
serializer.Serialize(writer, dt);
writer.Close();

return sb.ToString(); }
public DataTable DeserializerDataTable(string pXml)
{
StringReader strReader = new StringReader(pXml);
XmlReader xmlReader = XmlReader.Create(strReader);
XmlSerializer serializer = new XmlSerializer(typeof(DataTable));
DataTable dt = serializer.Deserialize(xmlReader) as DataTable;

return dt; }
#endregion
#region 壓縮和解壓縮
public string Compress(string str)
{
byte[] buffer = Encoding.Unicode.GetBytes(str);
MemoryStream ms = new MemoryStream();
using (GZipStream zip = new GZipStream(ms, CompressionMode.Compress, true))
{
zip.Write(buffer, 0, buffer.Length);
}
ms.Position = 0;
MemoryStream outStream = new MemoryStream();
byte[] compressed = new byte[ms.Length];
ms.Read(compressed, 0, compressed.Length);

byte[] gzBuffer = new byte[compressed.Length + 4];
System.Buffer.BlockCopy(compressed, 0, gzBuffer, 4, compressed.Length);
System.Buffer.BlockCopy(BitConverter.GetBytes(buffer.Length), 0, gzBuffer, 0, 4);
return Convert.ToBase64String(gzBuffer);
}

public string Decompress(string compressedText)
{
byte[] gzBuffer = Convert.FromBase64String(compressedText);
using (MemoryStream ms = new MemoryStream())
{
int msgLength = BitConverter.ToInt32(gzBuffer, 0);
ms.Write(gzBuffer, 4, gzBuffer.Length - 4);
byte[] buffer = new byte[msgLength];
ms.Position = 0;
using (GZipStream zip = new GZipStream(ms, CompressionMode.Decompress))
{
zip.Read(buffer, 0, buffer.Length);
}
return Encoding.Unicode.GetString(buffer);
}
}

#endregion
}

第三步.調用DataSet和SqlDataAdapter.Update(Table)存在SQL中,這個是傳入一個DataGridView ,可在客戶端中使用保存(部份代碼,沒有連接SQL資料庫的)
#region 公共保存DataGridView
public bool DataGridViewSave(DataTable table,string tableName,string CorpCode)
{
string Sql = String.Format("Select Top 0 * From {0} Where CorpCode_='{1}' ", tableName, CorpCode);
SqlDataAdapter sda = new SqlDataAdapter(this.CreateCommand(Sql, null, 1));
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(table);
this.Close();
return true;
}
#endregion

『伍』 用c語言怎麼連接資料庫呢

25.2.2. C API函數概述
這里歸納了C API可使用的函數,並在下一節詳細介紹了它們。請參見25.2.3節,「C API函數描述」。

函數
描述

mysql_affected_rows()
返回上次UPDATE、DELETE或INSERT查詢更改/刪除/插入的行數。

mysql_autocommit()
切換 autocommit模式,ON/OFF

mysql_change_user()
更改打開連接上的用戶和資料庫。

mysql_charset_name()
返回用於連接的默認字元集的名稱。

mysql_close()
關閉伺服器連接。

mysql_commit()
提交事務。

mysql_connect()
連接到MySQL伺服器。該函數已不再被重視,使用mysql_real_connect()取代。

mysql_create_db()
創建資料庫。該函數已不再被重視,使用SQL語句CREATE DATABASE取而代之。

mysql_data_seek()
在查詢結果集中查找屬性行編號。

mysql_debug()
用給定的字元串執行DBUG_PUSH。

mysql_drop_db()
撤銷資料庫。該函數已不再被重視,使用SQL語句DROP DATABASE取而代之。

mysql_mp_debug_info()
讓伺服器將調試信息寫入日誌。

mysql_eof()
確定是否讀取了結果集的最後一行。該函數已不再被重視,可以使用mysql_errno()或mysql_error()取而代之。

mysql_errno()
返回上次調用的MySQL函數的錯誤編號。

mysql_error()
返回上次調用的MySQL函數的錯誤消息。

mysql_escape_string()
為了用在SQL語句中,對特殊字元進行轉義處理。

mysql_fetch_field()
返回下一個表欄位的類型。

mysql_fetch_field_direct()
給定欄位編號,返回表欄位的類型。

mysql_fetch_fields()
返回所有欄位結構的數組。

mysql_fetch_lengths()
返回當前行中所有列的長度。

mysql_fetch_row()
從結果集中獲取下一行

mysql_field_seek()
將列游標置於指定的列。

mysql_field_count()
返回上次執行語句的結果列的數目。

mysql_field_tell()
返回上次mysql_fetch_field()所使用欄位游標的位置。

mysql_free_result()
釋放結果集使用的內存。

mysql_get_client_info()
以字元串形式返回客戶端版本信息。

mysql_get_client_version()
以整數形式返回客戶端版本信息。

mysql_get_host_info()
返回描述連接的字元串。

mysql_get_server_version()
以整數形式返回伺服器的版本號。

mysql_get_proto_info()
返回連接所使用的協議版本。

mysql_get_server_info()
返回伺服器的版本號。

mysql_info()
返回關於最近所執行查詢的信息。

mysql_init()
獲取或初始化MYSQL結構。

mysql_insert_id()
返回上一個查詢為AUTO_INCREMENT列生成的ID。

mysql_kill()
殺死給定的線程。

mysql_library_end()
最終確定MySQL C API庫。

mysql_library_init()
初始化MySQL C API庫。

mysql_list_dbs()
返回與簡單正則表達式匹配的資料庫名稱。

mysql_list_fields()
返回與簡單正則表達式匹配的欄位名稱。

mysql_list_processes()
返回當前伺服器線程的列表。

mysql_list_tables()
返回與簡單正則表達式匹配的表名。

mysql_more_results()
檢查是否還存在其他結果。

mysql_next_result()
在多語句執行過程中返回/初始化下一個結果。

mysql_num_fields()
返回結果集中的列數。

mysql_num_rows()
返回結果集中的行數。

mysql_options()
為mysql_connect()設置連接選項。

mysql_ping()
檢查與伺服器的連接是否工作,如有必要重新連接。

mysql_query()
執行指定為「以Null終結的字元串」的SQL查詢。

mysql_real_connect()
連接到MySQL伺服器。

mysql_real_escape_string()
考慮到連接的當前字元集,為了在SQL語句中使用,對字元串中的特殊字元進行轉義處理。

mysql_real_query()
執行指定為計數字元串的SQL查詢。

mysql_refresh()
刷新或復位表和高速緩沖。

mysql_reload()
通知伺服器再次載入授權表。

mysql_rollback()
回滾事務。

mysql_row_seek()
使用從mysql_row_tell()返回的值,查找結果集中的行偏移。

mysql_row_tell()
返回行游標位置。

mysql_select_db()
選擇資料庫。

mysql_server_end()
最終確定嵌入式伺服器庫。

mysql_server_init()
初始化嵌入式伺服器庫。

mysql_set_server_option()
為連接設置選項(如多語句)。

mysql_sqlstate()
返回關於上一個錯誤的SQLSTATE錯誤代碼。

mysql_shutdown()
關閉資料庫伺服器。

mysql_stat()
以字元串形式返回伺服器狀態。

mysql_store_result()
檢索完整的結果集至客戶端。

mysql_thread_id()
返回當前線程ID。

mysql_thread_safe()
如果客戶端已編譯為線程安全的,返回1。

mysql_use_result()
初始化逐行的結果集檢索。

mysql_warning_count()
返回上一個SQL語句的告警數。 詳見:http://dev.mysql.com/doc/refman/5.1/zh/apis.html#c-api-function-overview
http://dev.mysql.com/doc/refman/5.0/en/c.html

『陸』 web伺服器和資料庫伺服器怎麼連接

如果兩個服務是不同的伺服器,資料庫伺服器需要開啟對應的外網訪問埠並進行設置。如果是在同一個伺服器上,使用資料庫連接程序、賬號密碼即可連接。

『柒』 資料庫如何連接到伺服器上

通常來說我們的伺服器是分三類,資料庫的伺服器,web的伺服器,以及其他應用的伺服器。這些其實都是小型機,伺服器,只不過是根據用途不同而分類。正常來說一個網站的常規伺服器的架構就是這三塊。


他所說的 " 資料庫連接到伺服器" 可能是指 "怎麼樣把web伺服器和資料庫能夠建立連接 " 。這里所說的web伺服器應該是指tomcat,apache,IIS,weblogic之類的東西,而不是真正意義上的web伺服器。


這樣的話就簡單了。要麼ODBC要麼JDBC,該怎麼樣怎麼樣。ODBC就是添加到數據源,JDBC就是要寫JDBC驅動,或者使用mybatis之類的解決方案。

『捌』 怎麼鏈接伺服器上的資料庫

需要在「開始」-「程序」里設置一下。

『玖』 如何連接資料庫伺服器

通常來說我們的伺服器是分三類,資料庫的伺服器,web的伺服器,以及其他應用的伺服器。這些其實都是小型機,伺服器,只不過是根據用途不同而分類。正常來說一個網站的常規伺服器的架構就是這三塊。
他所說的
"
資料庫連接到伺服器"
可能是指
"怎麼樣把web伺服器和資料庫能夠建立連接
"
。這里所說的web伺服器應該是指tomcat,apache,IIS,weblogic之類的東西,而不是真正意義上的web伺服器。
這樣的話就簡單了。要麼ODBC要麼JDBC,該怎麼樣怎麼樣。ODBC就是添加到數據源,JDBC就是要寫JDBC驅動,或者使用mybatis之類的解決方案

『拾』 C# web Web.config里sql連接資料庫

訪問資料庫有兩種方式:
Windows身份驗證登錄(不需要用戶名和密碼,適用於訪問本地資料庫,應用程序和SQL軟體安裝在同一台伺服器)
SQL Server 身份驗證登錄(適用於訪問其他計算機的資料庫,當然也可以用這種方式訪問本地資料庫)
根據樓主的情況應該用 SQL Server 身份驗證登錄
資料庫連接字元串一般寫在 connectionStrings節點下,非強制性(如寫在appsettings節點下),只不過這樣可以用
ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
方便訪問
以下是筆者的一個 web.config 文件的內容
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="connString" connectionString="Data Source=.;Initial Catalog=TestDatabase;Integrated Security=SSPI"/>
</connectionStrings>
</configuration>

附:資料庫連接字元串的寫法

SQL Server connection strings
SQL ODBC connection strings
Standard Security:< br> "Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Uid=Your_Username;Pwd=Your_Password;"

Trusted connection:< br> "Driver={SQLServer};Server=Your_Server_Name;Database=Your_Database_Name;Trusted_Connection=yes;"
SQL OLE DB connection strings
Standard Security:
"Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog= Your_Database_Name;UserId=Your_Username;Password=Your_Password;"

Trusted connection:
"Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog=Your_Database_Name;Integrated Security=SSPI;"
SQL OleDbConnection .NET strings
Standard Security:
"Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog= Your_Database_Name;UserId=Your_Username;Password=Your_Password;"

Trusted connection:
"Provider=SQLOLEDB;Data Source=Your_Server_Name;Initial Catalog=Your_Database_Name;Integrated Security=SSPI;"
SQL SqlConnection .NET strings
Standard Security:
1. "Data Source=Your_Server_Name;Initial Catalog= Your_Database_Name;UserId=Your_Username;Password=Your_Password;" < br>2. "Server=Your_Server_Name;Database=Your_Database_Name;UserID=Your_Username;Password=Your_Password;Trusted_Connection=False"

Trusted connection:
1. "Data Source=Your_Server_Name;Initial Catalog=Your_Database_Name;Integrated Security=SSPI;"
2."Server=Your_Server_Name;Database=Your_Database_Name;Trusted_Connection=True;"

希望回答對你有幫助

熱點內容
資料庫應用與信息管理 發布:2025-01-12 01:26:06 瀏覽:267
esxi管理存儲伺服器 發布:2025-01-12 01:25:59 瀏覽:765
在烏班圖搭建web伺服器 發布:2025-01-12 01:25:24 瀏覽:388
浙江省開票軟體升級版伺服器地址 發布:2025-01-12 01:15:57 瀏覽:202
蘋果電腦怎麼進入電腦伺服器 發布:2025-01-12 01:08:49 瀏覽:730
安卓平板怎麼設置隔空刷抖音 發布:2025-01-12 01:08:12 瀏覽:391
手機設備存儲是什麼 發布:2025-01-12 01:03:45 瀏覽:904
linux校園網 發布:2025-01-12 00:58:54 瀏覽:407
時序插值演算法 發布:2025-01-12 00:58:25 瀏覽:812
編程的射燈 發布:2025-01-12 00:58:24 瀏覽:405