导航:首页 > 配服务器 > 客户端使用本地数据库服务器地址

客户端使用本地数据库服务器地址

发布时间: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配置数据源的时候连接到数据库服务器上。这样就好了

阅读全文

与客户端使用本地数据库服务器地址相关的资料

热点内容
linux查看进程打开的文件数 浏览:427
tcp源码书籍 浏览:960
推荐算法内幕是什么 浏览:651
盒子自动生成文件夹 浏览:810
人情世故pdf 浏览:631
pro压缩衣 浏览:7
ezpad11如何刷安卓系统 浏览:286
程序员加班夜生活 浏览:64
迅雷不开会员如何免费解压 浏览:483
app舌头热为什么下载不了东西 浏览:459
苹果的使用寿命为什么比安卓长 浏览:618
电脑版c语言编译器有哪些 浏览:100
android布局解析 浏览:337
产水系数计算法 浏览:689
如何登录我购买的阿里云服务器 浏览:999
maven命令依赖 浏览:699
手机幻灯片的app叫什么 浏览:73
java特殊字符正则表达式 浏览:178
蓝白色船的图标APP叫什么软件 浏览:266
炸服务器的狗叫什么 浏览:237