當前位置:首頁 » 數據倉庫 » socket訪問資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

socket訪問資料庫

發布時間: 2022-08-22 13:50:35

『壹』 用SOCKET傳輸資料庫文件

如果是在不同的機器上傳輸,有可能是目標機器上沒安裝相應的資料庫或Excel軟體。 可以在自己的機器上給自己傳,以排除這種情況。 在程序中,確保傳輸數據的順序一致,大小一致。

『貳』 Socket遠程連接資料庫

一般來說相應的資料庫會提供驅動程序,不需要自己實現Socket,但是肯定是用TCP的。考慮效率就用連接池技術減少TCP的頻繁連接斷開。

『叄』 無法連接到Mysql資料庫使用的松鼠問題,怎麼解決

分析:這是典型的socket沒有正確設置的情況。
連接MySQL資料庫有兩種方式:TCP/IP(一般理解的埠的那種)和Unix套接字(一般叫socket或者sock)。大部分情況下,可以用localhost代表本機127.0.0.1,但是在MySQL連接時,二者不可混用,而且MySQL中許可權設置中localhost與127.0.0.1也是分開設置的。當設置為127.0.0.1時,系統通過TCP/IP方式連接資料庫;當設置為localhost時,系統通過socket方式連接資料庫。
解決:首先要看本機MySQL的socket套接字文件在哪裡,查看命令是:
mysqld --verbose --help | grep socket

輸出結果顯示套接字文件的位置,比如:這台伺服器顯示的是
socket /var/run/mysqld/mysqld.sock

然後修改php的配置文件php.ini與之對應起來就好了。
找到這一項:
mysql.default_socket =

一般來說這一項都是空的,改成:
mysql.default_socket = /var/run/mysqld/mysqld.sock

這里應寫上一步查詢到的文件,根據你的情況設置。至此php配置就修改好了,如果是CLI(命令行)方式或者CGI方式的話,立即就生效,如果是FASTCGI方式,需要重啟一下fastcgi進程。

『肆』 socket傳輸資料庫查出來的數據

我的client法度榜樣中應用了serversocket控制項向server法度榜樣(應用了clientsocket控制項)發送資料庫法度榜樣,當建立連接後,也就是已經有套接子了。可是當我在client法度榜樣中按下發送的按鈕發送數據時,就缺點講沒有套接子存在的,數據不克不及發送。可是我須要先讓法度榜樣server法度榜樣連接到長途的數據客戶機上再敕令客戶機發送數據的,到底是為什麼呀,難道要用clientsocket控制項向serversocket控制項發送才行嗎?難道我須要用兩個套接子嗎?感謝,我懇請大大俠幫幫我!!!

『伍』 如何實現基於Socket的資料庫編程

問題闡述
在使用Socket進行網路編程時,也經常需要將一些信息保存到資料庫中,這種程序也
通常稱為基於Socket的資料庫編程。那麼該如何實現基於Socket的資料庫編程呢
專家解答
通過Socket將客戶端的信息發送到伺服器端,然後伺服器端對接收到的信息進行處理,並通過JDBC-ODBC橋的方式連接到Access資料庫,然後通過JDBC技術將數據信息保存到資料庫中。下面的程序實現了基於Socket的資料庫編程。(1)新建項目,在項目中創建一個DAO類,用於載入資料庫驅動及建立到資料庫的連接,該類的關鍵代碼如下:
//載入資料庫驅動
.getMessageQ);
//定義資料庫連接
publicDAO(){try{
Class.forName(,fsun.jdbc.odbcJdbcOdbcDriverff);
}catch(ClassNotFoundExceptione){
JOptionPane.showMessageDialog(null,資料庫驅動載入失敗。
}
> publicstaticConnectiongetConn(){try{
Connectionconn=null;
//資料庫db_picture.mdb的URL
Stringurl=ffjdbc:odbc:E)river={MicrosoftAccessDriver(*.mdb)};DB(rc/database/dbj)icture.mdbfStringusername=」"; //資料庫的用戶名
Stringpassword= //資料庫密碼
conn=DriverManager.getConnection(url,username,password);//建立連接returnconn; //返回連接
}catch(Exceptione){
JOptionPane.showMessageDialog(null,」資料庫連接失敗。\n+e.getMessageO);
returnnull;
>
(2)在項目中創建一個繼承自JFrame類的伺服器窗體類DatabaseServerFrame和一個客戶端窗體類DatabaseClientFrame。
(3)在伺服器窗體類DatabaseServerFrame中定義一個getClientInfo()方法,用於接收

『陸』 socket 操作資料庫

SOCKET接受到的數據存放在一個緩沖區中,然後再寫進資料庫中,需要了解SOCKET編程和資料庫SQL相關知識,多看看書吧,有好處的,學無止境

『柒』 如何使用Socket快速判斷資料庫連接

先用Socket來判斷與伺服器是否連接成功,然後在進行資料庫操作。

[csharp] view plain print?
#region 採用Socket方式,測試伺服器連接

/// <summary>
/// 採用Socket方式,測試伺服器連接
/// </summary>
/// <param name="host">伺服器主機名或IP</param>
/// <param name="port">埠號</param>
/// <param name="millisecondsTimeout">等待時間:毫秒</param>
/// <returns></returns>
public static bool TestConnection(string host, int port, int millisecondsTimeout)
{
TcpClient client = new TcpClient();
try
{
var ar = client.BeginConnect(host, port, null, null);
ar.AsyncWaitHandle.WaitOne(millisecondsTimeout);
return client.Connected;
}
catch (Exception e)
{
throw e;
}
finally
{
client.Close();
}
}

#endregion
下面是資料庫的操作,可以根據自己的情況修改。

[csharp] view plain print?
/// <summary>
/// 資料庫連接操作,可替換為你自己的程序
/// </summary>
/// <param name="ConnectionString">連接字元串</param>
/// <returns></returns>
private static bool TestConnection(string ConnectionString)
{
bool result = true;

try
{
SqlConnection m_myConnection = new SqlConnection(ConnectionString);
m_myConnection.Open();

//資料庫操作......

m_myConnection.Close();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.ToString());
result = false;
}
return result;
}
我這里用winForm來測試的。

[csharp] view plain print?
private void btnSocket_Click(object sender, EventArgs e)
{
string strCon = "Data Source=192.168.24.566;Initial Catalog=qmaster;User ID=sa;password=123456";

string[] s=strCon.Split(';');
s = s[0].Split('=');
//獲取IP
string strIP =s[1];

//發送數據,判斷是否連接到指定ip
if (TestConnection(strIP , 1433, 500))
{
//連接成功
MessageBox.Show("Socket Link Succeed","連接伺服器");

// 資料庫操作,我這里用了連接測試。可根據你的系統自行修改
if (TestConnection(strCon))
MessageBox.Show("Sql Link Succeed","連接資料庫");
else
MessageBox.Show("Sql Link Failed", "連接資料庫");
}
else
MessageBox.Show("Socket Link Failed","連接伺服器");
}

『捌』 c#socket多線程與資料庫同時讀寫的連接問題

加個判斷

if(SqlHelper.connection.State==System.Data.ConnectionState.Closed)
SqlHelper.connection.Open();
else(SqlHelper.connection.State==System.Data.ConnectionState.Broken)
{
SqlHelper.connection.Close();
SqlHelper.connection.Open();
}

『玖』 socket服務端如何連接上mysql資料庫來保存數據

  1. 載入資料庫驅動:Class.forName("org.gjt.mm.mysql.Driver"); //載入資料庫驅動

    String url = "jdbc:mysql://localhost:3306/test";

    String user = "root";

    String passowrd = "123456";

  2. 獲取資料庫連接Connection con數=DriverManager.getConnection(url,user,password)

  3. 獲取SQL執行器 PreparedStatement prepare = con.prepareStatement("SQL語句")

  4. 執行SQL語句,得到結果集 ResultSet result = prepare.executeQuery();

  5. while(result.next()){

    //讀取結果

    }

最後不要忘記導入jdbc驅動包

純工手打字,請採納哈