導航:首頁 > 配伺服器 > 客戶端使用本地資料庫伺服器地址

客戶端使用本地資料庫伺服器地址

發布時間:2022-04-27 23:37:25

A. mysql客戶端如何連接伺服器

一、mysqld 進程沒有正常運行遇到這種情況首先到伺服器上看看 mysqld 進程是否活著,採用的命令
二、客戶端不能和進程 mysqld 通信如果 MySQL 伺服器上的 mysqld 進程運行正常,我們再看看客戶端能不能和 mysqld 進行通信,使用下面的命令進行網路連通的測試:telnet localhost 3306
如果本地能通,再到客戶端的機器上把 localhost 換成 MySQL 伺服器的 ip 地址進行測試。如果不能通,通常有兩種原因,一種原因是 OS 或網路的問題,或者是防火牆;另一種原因是 mysqld 自身根本沒有偵聽客戶端的連接請求, mysqld 啟動後對於客戶端的偵聽是分三種情況。
第一種情況
是使用參數 --skip-networking 跳過偵聽客戶端的網路連接,用下面的命令我們可以看到 MySQL 根本沒有偵聽 3306 埠。
第二種情況
使用參數 --bind-address 後面增加對客戶端訪問 IP 地址的限制,例如只偵聽本地的連接
三、賬戶密碼的問題最後一種情況是賬戶密碼的問題,應付這種情況我們有個有力的工具就是查看 MySQL 的 error log, error log 記載信息的詳細程度上由參數 --log-error-verbosity 進行控制的

B. android客戶端怎麼與伺服器資料庫連接

不能與資料庫連接的

Android客戶端不能直接與伺服器資料庫連接。資料庫是需要非常大的內存,安裝之後有好幾G,連接資料庫要有一個像SQLServer里的webservice,這樣的一個橋梁來間接訪問。就是在伺服器運行一個服務端程序,該服務端程序通過接收來自android客戶端的指令,對資料庫進行操作。

客戶端的http請求可以通過 HttpClient類實現,在anddroid 4.0之後,客戶端的網路請求已經不被允許在主線程中運行,所以還需注意另開啟一個子線程進行網路請求。

(2)客戶端使用本地資料庫伺服器地址擴展閱讀:

Android安全許可權機制:

Android默認設置下,所有應用都沒有許可權對其他應用、系統或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數據(聯系人或電子郵件),讀寫其他應用文件,訪問網路或阻止設備待機等。安裝應用時,在檢查程序簽名提及的許可權,且經過用戶確認後,軟體包安裝器會給予應用許可權。

下載一款Android應用通常會要求如下的許可權:撥打電話、發送簡訊或彩信、修改/刪除SD卡上的內容、讀取聯系人的信息、讀取日程信的息,寫入日程數據、讀取電話狀態或識別碼、精確的(基於GPS)地理位置、模糊的(基於網路獲取)地理位置、創建藍牙連接、

還有對互聯網的完全訪問、查看網路狀態,查看WiFi狀態、避免手機待機、修改系統全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。

C. 如何在客戶端訪問伺服器端的資料庫(VC++)

最流行的辦法是ADODB編程,只要在伺服器端建立一個SQL2000伺服器,那麼程序完成後在任何一台電腦上都可以和伺服器建立連接,並做數據操作。這樣的程序對於小企業是很有用的。

這是VC++利用ADODB實現資料庫網路編程,可以說是最容易學會和掌握的。

D. 簡單問題,怎麼連接到本地資料庫伺服器

No1:先在行程
電腦
上備份:
backup
database
資料庫名
to
disk='文件路徑'
然後把備件的文件復制到自己電腦上:
restore
database
資料庫名
from
disk='文件路徑'
No2:
備份遠程SQLSERVER資料庫到本地
1
知道遠程MSSQL
IP
用戶名
密碼
2
在本地MSSQL企業管器里新注冊
遠程資料庫
3
選中所有遠程資料庫的用戶表,右鍵
所有任務
生成SQL腳本
並在選項里選中
編寫主鍵
外鍵
......
4
在本地新建一資料庫,在新建資料庫中執行新生成的SQL腳本,注意腳本中的所屬用戶
一般全部替換為[dbo]
然後全部執行。
5
然後在新建資料庫中點
右鍵
所有任務
導入數據,先填源資料庫,也就是遠程資料庫,後填目的資料庫,也就是新資料庫
最後確定。這樣就可以把遠程的資料庫備份到本地
No3:伺服器上的SQLSERVER2000資料庫導到本地
一,備份SQLSERVER2000,生成.bak文件,壓縮成包,下載到本地,解壓,還原資料庫,
二,本sql客戶端遠程鏈接伺服器,備份,或導出到本地資料庫(這個看你網速了),同時要開放伺服器1433埠,很不安全
三,分離資料庫,考下_dat和log,,考下這兩個文件,伺服器上再附加,本地用這兩個文件附加

E. 如何用oracle 11g客戶端 配置連接伺服器資料庫。

1、打開所有程序->找到oracle-oradb11g-home1->Net Configuration Assistant。

F. 客戶端連接伺服器Mysql資料庫

NowString = "GetDate()"
'--連接名(SqlLocalName)(本地用(local),外地用IP)
Const SqlDatabaseName = "資料庫名稱"
Const SqlUsername = "用戶名"
Const SqlPassword = "密碼"
Const SqlLocalName = "資料庫伺服器"

如果使用mysql推薦使用軟體讀取資料庫navicat8直接將資料庫導入進去就可以了!

可以使用這個方法連接,也可以直接連接字元串!
如果資料庫密碼或者賬號改變了在這里就直接更改就可以了 參考資料: http://www.sy512.cn/article/201105/10565.html

G. 如何把本地資料庫導入到伺服器資料庫中

看了下你的描述,
可能是你在恢復的時候沒有在本地選擇mdf和ldf的文件位置。如果你把伺服器的mdf和ldf拷貝出來,需要把伺服器上的資料庫停用才能行。建議不要這么做。
我詳細說下怎麼操作。
1.
在伺服器上找到特定資料庫名--右鍵所有任務--備份資料庫--彈出備份窗口,選擇備份目標地址路徑。(文件名以後綴名
.bak

2.
把備份的資料庫文件(.bak)
復制到本地電腦
3.在本地數據中選中資料庫(不是資料庫名)--右鍵所有任務--恢復資料庫--彈出恢復窗口,在恢復資料庫里輸入你想恢復成的資料庫名(可以隨便取,也可以用原來資料庫名),選擇從設備恢復,找到.bak文件。
4.此時不要點擊ok。需要在回到恢復資料庫窗口--選項--選擇本地的物理邏輯地址,就是放mdf和ldf的地方。(你可能沒有修改這里,用的還是伺服器上的路徑,
所以本地找不到報錯。)

H. 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

I. 客戶端怎麼連接到伺服器的資料庫上

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

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

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

如果他的意思是資料庫伺服器和web伺服器直接的數據交流。以oracle和weblogic為例,就是把oracle的TNS監聽地址修改成web伺服器的ip,weblogic配置數據源的時候連接到資料庫伺服器上。這樣就好了

閱讀全文

與客戶端使用本地資料庫伺服器地址相關的資料

熱點內容
蘋果的使用壽命為什麼比安卓長 瀏覽:614
電腦版c語言編譯器有哪些 瀏覽:94
android布局解析 瀏覽:332
產水系數計演算法 瀏覽:686
如何登錄我購買的阿里雲伺服器 瀏覽:995
maven命令依賴 瀏覽:695
手機幻燈片的app叫什麼 瀏覽:69
java特殊字元正則表達式 瀏覽:172
藍白色船的圖標APP叫什麼軟體 瀏覽:264
炸伺服器的狗叫什麼 瀏覽:235
怎麼推送文件夾才能在ipad中顯示 瀏覽:782
python中的oswalk 瀏覽:70
被綠盾加密的電腦怎麼不被加密 瀏覽:456
蘇州阿里圖片雲伺服器 瀏覽:209
固網列印伺服器如何重置 瀏覽:380
python介面自動化測試源碼 瀏覽:737
加密貨幣巨鯨圖片 瀏覽:189
學商業模式用什麼app 瀏覽:724
有什麼app可以看歷年初中考試題 瀏覽:660
奶塊官方伺服器有什麼折扣充值嗎 瀏覽:76